diff options
Diffstat (limited to 'internal/timeline/index_test.go')
-rw-r--r-- | internal/timeline/index_test.go | 92 |
1 files changed, 27 insertions, 65 deletions
diff --git a/internal/timeline/index_test.go b/internal/timeline/index_test.go index f62c0a9c6..a7eeebb6e 100644 --- a/internal/timeline/index_test.go +++ b/internal/timeline/index_test.go @@ -24,103 +24,65 @@ import ( "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" - tlprocessor "github.com/superseriousbusiness/gotosocial/internal/processing/timeline" - "github.com/superseriousbusiness/gotosocial/internal/timeline" - "github.com/superseriousbusiness/gotosocial/internal/visibility" - "github.com/superseriousbusiness/gotosocial/testrig" ) type IndexTestSuite struct { TimelineStandardTestSuite } -func (suite *IndexTestSuite) SetupSuite() { - suite.testAccounts = testrig.NewTestAccounts() - suite.testStatuses = testrig.NewTestStatuses() -} - -func (suite *IndexTestSuite) SetupTest() { - suite.state.Caches.Init() - - testrig.InitTestLog() - testrig.InitTestConfig() - - suite.db = testrig.NewTestDB(&suite.state) - suite.tc = testrig.NewTestTypeConverter(suite.db) - suite.filter = visibility.NewFilter(&suite.state) - - testrig.StandardDBSetup(suite.db, nil) - - // let's take local_account_1 as the timeline owner, and start with an empty timeline - suite.timeline = timeline.NewTimeline( - context.Background(), - suite.testAccounts["local_account_1"].ID, - tlprocessor.HomeTimelineGrab(&suite.state), - tlprocessor.HomeTimelineFilter(&suite.state, suite.filter), - tlprocessor.HomeTimelineStatusPrepare(&suite.state, suite.tc), - tlprocessor.SkipInsert(), +func (suite *IndexTestSuite) TestOldestIndexedItemIDEmpty() { + var ( + ctx = context.Background() + testAccountID = suite.testAccounts["local_account_1"].ID ) -} -func (suite *IndexTestSuite) TearDownTest() { - testrig.StandardDBTeardown(suite.db) -} - -func (suite *IndexTestSuite) TestOldestIndexedItemIDEmpty() { // the oldest indexed post should be an empty string since there's nothing indexed yet - postID := suite.timeline.OldestIndexedItemID() + postID := suite.state.Timelines.Home.GetOldestIndexedID(ctx, testAccountID) suite.Empty(postID) // indexLength should be 0 - indexLength := suite.timeline.Len() - suite.Equal(0, indexLength) + suite.Zero(0, suite.state.Timelines.Home.GetIndexedLength(ctx, testAccountID)) } func (suite *IndexTestSuite) TestIndexAlreadyIndexed() { - testStatus := suite.testStatuses["local_account_1_status_1"] + var ( + ctx = context.Background() + testAccountID = suite.testAccounts["local_account_1"].ID + testStatus = suite.testStatuses["local_account_1_status_1"] + ) // index one post -- it should be indexed - indexed, err := suite.timeline.IndexAndPrepareOne(context.Background(), testStatus.ID, testStatus.BoostOfID, testStatus.AccountID, testStatus.BoostOfAccountID) + indexed, err := suite.state.Timelines.Home.IngestOne(ctx, testAccountID, testStatus) suite.NoError(err) suite.True(indexed) // try to index the same post again -- it should not be indexed - indexed, err = suite.timeline.IndexAndPrepareOne(context.Background(), testStatus.ID, testStatus.BoostOfID, testStatus.AccountID, testStatus.BoostOfAccountID) - suite.NoError(err) - suite.False(indexed) -} - -func (suite *IndexTestSuite) TestIndexAndPrepareAlreadyIndexedAndPrepared() { - testStatus := suite.testStatuses["local_account_1_status_1"] - - // index and prepare one post -- it should be indexed - indexed, err := suite.timeline.IndexAndPrepareOne(context.Background(), testStatus.ID, testStatus.BoostOfID, testStatus.AccountID, testStatus.BoostOfAccountID) - suite.NoError(err) - suite.True(indexed) - - // try to index and prepare the same post again -- it should not be indexed - indexed, err = suite.timeline.IndexAndPrepareOne(context.Background(), testStatus.ID, testStatus.BoostOfID, testStatus.AccountID, testStatus.BoostOfAccountID) + indexed, err = suite.state.Timelines.Home.IngestOne(ctx, testAccountID, testStatus) suite.NoError(err) suite.False(indexed) } func (suite *IndexTestSuite) TestIndexBoostOfAlreadyIndexed() { - testStatus := suite.testStatuses["local_account_1_status_1"] - boostOfTestStatus := >smodel.Status{ - CreatedAt: time.Now(), - ID: "01FD4TA6G2Z6M7W8NJQ3K5WXYD", - BoostOfID: testStatus.ID, - AccountID: "01FD4TAY1C0NGEJVE9CCCX7QKS", - BoostOfAccountID: testStatus.AccountID, - } + var ( + ctx = context.Background() + testAccountID = suite.testAccounts["local_account_1"].ID + testStatus = suite.testStatuses["local_account_1_status_1"] + boostOfTestStatus = >smodel.Status{ + CreatedAt: time.Now(), + ID: "01FD4TA6G2Z6M7W8NJQ3K5WXYD", + BoostOfID: testStatus.ID, + AccountID: "01FD4TAY1C0NGEJVE9CCCX7QKS", + BoostOfAccountID: testStatus.AccountID, + } + ) // index one post -- it should be indexed - indexed, err := suite.timeline.IndexAndPrepareOne(context.Background(), testStatus.ID, testStatus.BoostOfID, testStatus.AccountID, testStatus.BoostOfAccountID) + indexed, err := suite.state.Timelines.Home.IngestOne(ctx, testAccountID, testStatus) suite.NoError(err) suite.True(indexed) // try to index the a boost of that post -- it should not be indexed - indexed, err = suite.timeline.IndexAndPrepareOne(context.Background(), boostOfTestStatus.ID, boostOfTestStatus.BoostOfID, boostOfTestStatus.AccountID, boostOfTestStatus.BoostOfAccountID) + indexed, err = suite.state.Timelines.Home.IngestOne(ctx, testAccountID, boostOfTestStatus) suite.NoError(err) suite.False(indexed) } |