diff options
Diffstat (limited to 'internal/api/s2s/user')
| -rw-r--r-- | internal/api/s2s/user/inboxpost_test.go | 17 | ||||
| -rw-r--r-- | internal/api/s2s/user/outboxget_test.go | 11 | ||||
| -rw-r--r-- | internal/api/s2s/user/repliesget_test.go | 11 | ||||
| -rw-r--r-- | internal/api/s2s/user/statusget_test.go | 24 | ||||
| -rw-r--r-- | internal/api/s2s/user/userget_test.go | 38 | 
5 files changed, 27 insertions, 74 deletions
diff --git a/internal/api/s2s/user/inboxpost_test.go b/internal/api/s2s/user/inboxpost_test.go index 506fa270c..ff3ec47d3 100644 --- a/internal/api/s2s/user/inboxpost_test.go +++ b/internal/api/s2s/user/inboxpost_test.go @@ -444,14 +444,15 @@ func (suite *InboxPostTestSuite) TestPostDelete() {  	suite.Empty(b)  	suite.Equal(http.StatusOK, result.StatusCode) -	// sleep for a sec so side effects can process in the background -	time.Sleep(2 * time.Second) - -	// local account 2 blocked foss_satan, that block should be gone now -	testBlock := suite.testBlocks["local_account_2_block_remote_account_1"] -	dbBlock := >smodel.Block{} -	err = suite.db.GetByID(ctx, testBlock.ID, dbBlock) -	suite.ErrorIs(err, db.ErrNoEntries) +	if !testrig.WaitFor(func() bool { +		// local account 2 blocked foss_satan, that block should be gone now +		testBlock := suite.testBlocks["local_account_2_block_remote_account_1"] +		dbBlock := >smodel.Block{} +		err = suite.db.GetByID(ctx, testBlock.ID, dbBlock) +		return suite.ErrorIs(err, db.ErrNoEntries) +	}) { +		suite.FailNow("timed out waiting for block to be removed") +	}  	// no statuses from foss satan should be left in the database  	dbStatuses, err := suite.db.GetAccountStatuses(ctx, deletedAccount.ID, 0, false, false, "", "", false, false, false) diff --git a/internal/api/s2s/user/outboxget_test.go b/internal/api/s2s/user/outboxget_test.go index 58b57954c..24c0e2cee 100644 --- a/internal/api/s2s/user/outboxget_test.go +++ b/internal/api/s2s/user/outboxget_test.go @@ -46,15 +46,6 @@ func (suite *OutboxGetTestSuite) TestGetOutbox() {  	signedRequest := derefRequests["foss_satan_dereference_zork_outbox"]  	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) @@ -76,7 +67,7 @@ func (suite *OutboxGetTestSuite) TestGetOutbox() {  	}  	// trigger the function being tested -	userModule.OutboxGETHandler(ctx) +	suite.userModule.OutboxGETHandler(ctx)  	// check response  	suite.EqualValues(http.StatusOK, recorder.Code) diff --git a/internal/api/s2s/user/repliesget_test.go b/internal/api/s2s/user/repliesget_test.go index 07a3f2788..7ec9ae54c 100644 --- a/internal/api/s2s/user/repliesget_test.go +++ b/internal/api/s2s/user/repliesget_test.go @@ -49,15 +49,6 @@ func (suite *RepliesGetTestSuite) TestGetReplies() {  	targetAccount := suite.testAccounts["local_account_1"]  	targetStatus := suite.testStatuses["local_account_1_status_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) @@ -83,7 +74,7 @@ func (suite *RepliesGetTestSuite) TestGetReplies() {  	}  	// trigger the function being tested -	userModule.StatusRepliesGETHandler(ctx) +	suite.userModule.StatusRepliesGETHandler(ctx)  	// check response  	suite.EqualValues(http.StatusOK, recorder.Code) diff --git a/internal/api/s2s/user/statusget_test.go b/internal/api/s2s/user/statusget_test.go index 26fb71818..42f7dbb1b 100644 --- a/internal/api/s2s/user/statusget_test.go +++ b/internal/api/s2s/user/statusget_test.go @@ -32,8 +32,6 @@ import (  	"github.com/superseriousbusiness/activity/streams"  	"github.com/superseriousbusiness/activity/streams/vocab"  	"github.com/superseriousbusiness/gotosocial/internal/api/s2s/user" -	"github.com/superseriousbusiness/gotosocial/internal/concurrency" -	"github.com/superseriousbusiness/gotosocial/internal/messages"  	"github.com/superseriousbusiness/gotosocial/testrig"  ) @@ -48,15 +46,6 @@ func (suite *StatusGetTestSuite) TestGetStatus() {  	targetAccount := suite.testAccounts["local_account_1"]  	targetStatus := suite.testStatuses["local_account_1_status_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) @@ -82,7 +71,7 @@ func (suite *StatusGetTestSuite) TestGetStatus() {  	}  	// trigger the function being tested -	userModule.StatusGETHandler(ctx) +	suite.userModule.StatusGETHandler(ctx)  	// check response  	suite.EqualValues(http.StatusOK, recorder.Code) @@ -116,15 +105,6 @@ func (suite *StatusGetTestSuite) TestGetStatusLowercase() {  	targetAccount := suite.testAccounts["local_account_1"]  	targetStatus := suite.testStatuses["local_account_1_status_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) @@ -150,7 +130,7 @@ func (suite *StatusGetTestSuite) TestGetStatusLowercase() {  	}  	// trigger the function being tested -	userModule.StatusGETHandler(ctx) +	suite.userModule.StatusGETHandler(ctx)  	// check response  	suite.EqualValues(http.StatusOK, recorder.Code) 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)  | 
