summaryrefslogtreecommitdiff
path: root/internal/timeline
diff options
context:
space:
mode:
Diffstat (limited to 'internal/timeline')
-rw-r--r--internal/timeline/index_test.go7
-rw-r--r--internal/timeline/manager_test.go58
2 files changed, 33 insertions, 32 deletions
diff --git a/internal/timeline/index_test.go b/internal/timeline/index_test.go
index ae7ec40ab..c89c85a09 100644
--- a/internal/timeline/index_test.go
+++ b/internal/timeline/index_test.go
@@ -76,10 +76,10 @@ func (suite *IndexTestSuite) TestIndexBeforeLowID() {
postID, err := suite.timeline.OldestIndexedItemID(context.Background())
suite.NoError(err)
- suite.Equal("01F8MHC0H0A7XHTVH5F596ZKBM", postID)
+ suite.Equal("01F8MHBQCBTDKN6X5VHGMMN4MA", postID)
indexLength := suite.timeline.ItemIndexLength(context.Background())
- suite.Equal(9, indexLength)
+ suite.Equal(10, indexLength)
}
func (suite *IndexTestSuite) TestIndexBeforeHighID() {
@@ -107,9 +107,8 @@ func (suite *IndexTestSuite) TestIndexBehindHighID() {
suite.NoError(err)
suite.Equal("01G36SF3V6Y6V5BF9P4R7PQG7G", postID)
- // indexLength should be 9 because that's all this user has hometimelineable
indexLength := suite.timeline.ItemIndexLength(context.Background())
- suite.Equal(9, indexLength)
+ suite.Equal(10, indexLength)
}
func (suite *IndexTestSuite) TestIndexBehindLowID() {
diff --git a/internal/timeline/manager_test.go b/internal/timeline/manager_test.go
index 8eb92a4e3..18ed97f7a 100644
--- a/internal/timeline/manager_test.go
+++ b/internal/timeline/manager_test.go
@@ -62,88 +62,90 @@ func (suite *ManagerTestSuite) TearDownTest() {
}
func (suite *ManagerTestSuite) TestManagerIntegration() {
+ ctx := context.Background()
+
testAccount := suite.testAccounts["local_account_1"]
// should start at 0
- indexedLen := suite.manager.GetIndexedLength(context.Background(), testAccount.ID)
+ indexedLen := suite.manager.GetIndexedLength(ctx, testAccount.ID)
suite.Equal(0, indexedLen)
// oldestIndexed should be empty string since there's nothing indexed
- oldestIndexed, err := suite.manager.GetOldestIndexedID(context.Background(), testAccount.ID)
+ oldestIndexed, err := suite.manager.GetOldestIndexedID(ctx, testAccount.ID)
suite.NoError(err)
suite.Empty(oldestIndexed)
// trigger status preparation
- err = suite.manager.PrepareXFromTop(context.Background(), testAccount.ID, 20)
+ err = suite.manager.PrepareXFromTop(ctx, testAccount.ID, 20)
suite.NoError(err)
- // local_account_1 can see 15 statuses out of the testrig statuses in its home timeline
- indexedLen = suite.manager.GetIndexedLength(context.Background(), testAccount.ID)
- suite.Equal(15, indexedLen)
+ // local_account_1 can see 16 statuses out of the testrig statuses in its home timeline
+ indexedLen = suite.manager.GetIndexedLength(ctx, testAccount.ID)
+ suite.Equal(16, indexedLen)
// oldest should now be set
- oldestIndexed, err = suite.manager.GetOldestIndexedID(context.Background(), testAccount.ID)
+ oldestIndexed, err = suite.manager.GetOldestIndexedID(ctx, testAccount.ID)
suite.NoError(err)
- suite.Equal("01F8MH82FYRXD2RC6108DAJ5HB", oldestIndexed)
+ suite.Equal("01F8MH75CBF9JFX4ZAD54N0W0R", oldestIndexed)
// get hometimeline
- statuses, err := suite.manager.GetTimeline(context.Background(), testAccount.ID, "", "", "", 20, false)
+ statuses, err := suite.manager.GetTimeline(ctx, testAccount.ID, "", "", "", 20, false)
suite.NoError(err)
- suite.Len(statuses, 15)
+ suite.Len(statuses, 16)
// now wipe the last status from all timelines, as though it had been deleted by the owner
- err = suite.manager.WipeItemFromAllTimelines(context.Background(), "01F8MH82FYRXD2RC6108DAJ5HB")
+ err = suite.manager.WipeItemFromAllTimelines(ctx, "01F8MH75CBF9JFX4ZAD54N0W0R")
suite.NoError(err)
// timeline should be shorter
- indexedLen = suite.manager.GetIndexedLength(context.Background(), testAccount.ID)
- suite.Equal(14, indexedLen)
+ indexedLen = suite.manager.GetIndexedLength(ctx, testAccount.ID)
+ suite.Equal(15, indexedLen)
// oldest should now be different
- oldestIndexed, err = suite.manager.GetOldestIndexedID(context.Background(), testAccount.ID)
+ oldestIndexed, err = suite.manager.GetOldestIndexedID(ctx, testAccount.ID)
suite.NoError(err)
- suite.Equal("01F8MHAAY43M6RJ473VQFCVH37", oldestIndexed)
+ suite.Equal("01F8MH82FYRXD2RC6108DAJ5HB", oldestIndexed)
// delete the new oldest status specifically from this timeline, as though local_account_1 had muted or blocked it
- removed, err := suite.manager.Remove(context.Background(), testAccount.ID, "01F8MHAAY43M6RJ473VQFCVH37")
+ removed, err := suite.manager.Remove(ctx, testAccount.ID, "01F8MH82FYRXD2RC6108DAJ5HB")
suite.NoError(err)
suite.Equal(2, removed) // 1 status should be removed, but from both indexed and prepared, so 2 removals total
// timeline should be shorter
- indexedLen = suite.manager.GetIndexedLength(context.Background(), testAccount.ID)
- suite.Equal(13, indexedLen)
+ indexedLen = suite.manager.GetIndexedLength(ctx, testAccount.ID)
+ suite.Equal(14, indexedLen)
// oldest should now be different
- oldestIndexed, err = suite.manager.GetOldestIndexedID(context.Background(), testAccount.ID)
+ oldestIndexed, err = suite.manager.GetOldestIndexedID(ctx, testAccount.ID)
suite.NoError(err)
- suite.Equal("01F8MHAMCHF6Y650WCRSCP4WMY", oldestIndexed)
+ suite.Equal("01F8MHAAY43M6RJ473VQFCVH37", oldestIndexed)
// now remove all entries by local_account_2 from the timeline
- err = suite.manager.WipeItemsFromAccountID(context.Background(), testAccount.ID, suite.testAccounts["local_account_2"].ID)
+ err = suite.manager.WipeItemsFromAccountID(ctx, testAccount.ID, suite.testAccounts["local_account_2"].ID)
suite.NoError(err)
// timeline should be shorter
- indexedLen = suite.manager.GetIndexedLength(context.Background(), testAccount.ID)
- suite.Equal(6, indexedLen)
+ indexedLen = suite.manager.GetIndexedLength(ctx, testAccount.ID)
+ suite.Equal(7, indexedLen)
// ingest 1 into the timeline
status1 := suite.testStatuses["admin_account_status_1"]
- ingested, err := suite.manager.Ingest(context.Background(), status1, testAccount.ID)
+ ingested, err := suite.manager.Ingest(ctx, status1, testAccount.ID)
suite.NoError(err)
suite.True(ingested)
// ingest and prepare another one into the timeline
status2 := suite.testStatuses["local_account_2_status_1"]
- ingested, err = suite.manager.IngestAndPrepare(context.Background(), status2, testAccount.ID)
+ ingested, err = suite.manager.IngestAndPrepare(ctx, status2, testAccount.ID)
suite.NoError(err)
suite.True(ingested)
// timeline should be longer now
- indexedLen = suite.manager.GetIndexedLength(context.Background(), testAccount.ID)
- suite.Equal(8, indexedLen)
+ indexedLen = suite.manager.GetIndexedLength(ctx, testAccount.ID)
+ suite.Equal(9, indexedLen)
// try to ingest status 2 again
- ingested, err = suite.manager.IngestAndPrepare(context.Background(), status2, testAccount.ID)
+ ingested, err = suite.manager.IngestAndPrepare(ctx, status2, testAccount.ID)
suite.NoError(err)
suite.False(ingested) // should be false since it's a duplicate
}