diff options
author | 2022-04-28 13:23:11 +0100 | |
---|---|---|
committer | 2022-04-28 13:23:11 +0100 | |
commit | 420e2fb22bc7aa4967ddadb11e444079efdf5117 (patch) | |
tree | 413842c5df646c30a8079671ade5e677e3825fb8 /internal/federation/federatingdb/federatingdb_test.go | |
parent | [bugfix] Fix possible race condition in federatingdb (#490) (diff) | |
download | gotosocial-420e2fb22bc7aa4967ddadb11e444079efdf5117.tar.xz |
replace async client API / federator msg processing with worker pools (#497)
* replace async client API / federator msg processing with worker pools
* appease our lord-and-saviour, the linter
Diffstat (limited to 'internal/federation/federatingdb/federatingdb_test.go')
-rw-r--r-- | internal/federation/federatingdb/federatingdb_test.go | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/internal/federation/federatingdb/federatingdb_test.go b/internal/federation/federatingdb/federatingdb_test.go index 3f1af7d78..d53294c1c 100644 --- a/internal/federation/federatingdb/federatingdb_test.go +++ b/internal/federation/federatingdb/federatingdb_test.go @@ -28,14 +28,17 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/messages" "github.com/superseriousbusiness/gotosocial/internal/typeutils" + "github.com/superseriousbusiness/gotosocial/internal/worker" "github.com/superseriousbusiness/gotosocial/testrig" ) type FederatingDBTestSuite struct { suite.Suite - db db.DB - tc typeutils.TypeConverter - federatingDB federatingdb.DB + db db.DB + tc typeutils.TypeConverter + fedWorker *worker.Worker[messages.FromFederator] + fromFederator chan messages.FromFederator + federatingDB federatingdb.DB testTokens map[string]*gtsmodel.Token testClients map[string]*gtsmodel.Client @@ -62,10 +65,17 @@ func (suite *FederatingDBTestSuite) SetupSuite() { func (suite *FederatingDBTestSuite) SetupTest() { testrig.InitTestLog() testrig.InitTestConfig() + suite.fedWorker = worker.New[messages.FromFederator](-1, -1) + suite.fromFederator = make(chan messages.FromFederator, 10) + suite.fedWorker.SetProcessor(func(ctx context.Context, msg messages.FromFederator) error { + suite.fromFederator <- msg + return nil + }) + _ = suite.fedWorker.Start() suite.db = testrig.NewTestDB() suite.testActivities = testrig.NewTestActivities(suite.testAccounts) suite.tc = testrig.NewTestTypeConverter(suite.db) - suite.federatingDB = testrig.NewTestFederatingDB(suite.db) + suite.federatingDB = testrig.NewTestFederatingDB(suite.db, suite.fedWorker) testrig.StandardDBSetup(suite.db, suite.testAccounts) } @@ -73,10 +83,9 @@ func (suite *FederatingDBTestSuite) TearDownTest() { testrig.StandardDBTeardown(suite.db) } -func createTestContext(receivingAccount *gtsmodel.Account, requestingAccount *gtsmodel.Account, fromFederatorChan chan messages.FromFederator) context.Context { +func createTestContext(receivingAccount *gtsmodel.Account, requestingAccount *gtsmodel.Account) context.Context { ctx := context.Background() ctx = context.WithValue(ctx, ap.ContextReceivingAccount, receivingAccount) ctx = context.WithValue(ctx, ap.ContextRequestingAccount, requestingAccount) - ctx = context.WithValue(ctx, ap.ContextFromFederatorChan, fromFederatorChan) return ctx } |