diff options
author | 2022-08-31 17:31:21 +0200 | |
---|---|---|
committer | 2022-08-31 17:31:21 +0200 | |
commit | 0245c606d77c8b99833ccc2c0923a298fb482236 (patch) | |
tree | 16311e89656894f09cfaeb8b0f21b5ac9e4de502 /internal/api/s2s/user/userget_test.go | |
parent | [feature] add rate limit middleware (#741) (diff) | |
download | gotosocial-0245c606d77c8b99833ccc2c0923a298fb482236.tar.xz |
[chore] Test fixes (#788)
* use 'test' value for testrig storage backend
* update test dependency
* add WaitFor func in testrig
* use WaitFor function instead of time.Sleep
* tidy up tests
* make SentMessages a sync.map
* go fmt
Diffstat (limited to 'internal/api/s2s/user/userget_test.go')
-rw-r--r-- | internal/api/s2s/user/userget_test.go | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/internal/api/s2s/user/userget_test.go b/internal/api/s2s/user/userget_test.go index 0b242432c..9e0fd33ad 100644 --- a/internal/api/s2s/user/userget_test.go +++ b/internal/api/s2s/user/userget_test.go @@ -25,7 +25,6 @@ import ( "net/http" "net/http/httptest" "testing" - "time" "github.com/gin-gonic/gin" "github.com/stretchr/testify/suite" @@ -33,8 +32,6 @@ import ( "github.com/superseriousbusiness/activity/streams/vocab" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" "github.com/superseriousbusiness/gotosocial/internal/api/s2s/user" - "github.com/superseriousbusiness/gotosocial/internal/concurrency" - "github.com/superseriousbusiness/gotosocial/internal/messages" "github.com/superseriousbusiness/gotosocial/internal/oauth" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -49,15 +46,6 @@ func (suite *UserGetTestSuite) TestGetUser() { signedRequest := derefRequests["foss_satan_dereference_zork"] targetAccount := suite.testAccounts["local_account_1"] - clientWorker := concurrency.NewWorkerPool[messages.FromClientAPI](-1, -1) - fedWorker := concurrency.NewWorkerPool[messages.FromFederator](-1, -1) - - tc := testrig.NewTestTransportController(testrig.NewMockHTTPClient(nil, "../../../../testrig/media"), suite.db, fedWorker) - federator := testrig.NewTestFederator(suite.db, tc, suite.storage, suite.mediaManager, fedWorker) - emailSender := testrig.NewEmailSender("../../../../web/template/", nil) - processor := testrig.NewTestProcessor(suite.db, suite.storage, federator, emailSender, suite.mediaManager, clientWorker, fedWorker) - userModule := user.New(processor).(*user.Module) - // setup request recorder := httptest.NewRecorder() ctx, _ := testrig.CreateGinTestContext(recorder, nil) @@ -79,7 +67,7 @@ func (suite *UserGetTestSuite) TestGetUser() { } // trigger the function being tested - userModule.UsersGETHandler(ctx) + suite.userModule.UsersGETHandler(ctx) // check response suite.EqualValues(http.StatusOK, recorder.Code) @@ -110,6 +98,12 @@ func (suite *UserGetTestSuite) TestGetUser() { // TestGetUserPublicKeyDeleted checks whether the public key of a deleted account can still be dereferenced. // This is needed by remote instances for authenticating delete requests and stuff like that. func (suite *UserGetTestSuite) TestGetUserPublicKeyDeleted() { + if err := suite.processor.Start(); err != nil { + suite.FailNow(err.Error()) + } + defer suite.processor.Stop() + + userModule := user.New(suite.processor).(*user.Module) targetAccount := suite.testAccounts["local_account_1"] // first delete the account, as though zork had deleted himself @@ -123,22 +117,18 @@ func (suite *UserGetTestSuite) TestGetUserPublicKeyDeleted() { DeleteOriginID: targetAccount.ID, }) - // now wait just a sec for it to go through.... - time.Sleep(1 * time.Second) + // wait for the account delete to be processed + if !testrig.WaitFor(func() bool { + a, _ := suite.db.GetAccountByID(context.Background(), targetAccount.ID) + return !a.SuspendedAt.IsZero() + }) { + suite.FailNow("delete of account timed out") + } // the dereference we're gonna use derefRequests := testrig.NewTestDereferenceRequests(suite.testAccounts) signedRequest := derefRequests["foss_satan_dereference_zork_public_key"] - clientWorker := concurrency.NewWorkerPool[messages.FromClientAPI](-1, -1) - fedWorker := concurrency.NewWorkerPool[messages.FromFederator](-1, -1) - - tc := testrig.NewTestTransportController(testrig.NewMockHTTPClient(nil, "../../../../testrig/media"), suite.db, fedWorker) - federator := testrig.NewTestFederator(suite.db, tc, suite.storage, suite.mediaManager, fedWorker) - emailSender := testrig.NewEmailSender("../../../../web/template/", nil) - processor := testrig.NewTestProcessor(suite.db, suite.storage, federator, emailSender, suite.mediaManager, clientWorker, fedWorker) - userModule := user.New(processor).(*user.Module) - // setup request recorder := httptest.NewRecorder() ctx, _ := testrig.CreateGinTestContext(recorder, nil) |