diff options
Diffstat (limited to 'internal/api')
-rw-r--r-- | internal/api/client/auth/authorize_test.go | 22 | ||||
-rw-r--r-- | internal/api/client/status/statuscreate.go | 9 | ||||
-rw-r--r-- | internal/api/client/status/statuscreate_test.go | 8 |
3 files changed, 22 insertions, 17 deletions
diff --git a/internal/api/client/auth/authorize_test.go b/internal/api/client/auth/authorize_test.go index fcc4b8caa..e3e4ce9ee 100644 --- a/internal/api/client/auth/authorize_test.go +++ b/internal/api/client/auth/authorize_test.go @@ -20,7 +20,7 @@ type AuthAuthorizeTestSuite struct { type authorizeHandlerTestCase struct { description string - mutateUserAccount func(*gtsmodel.User, *gtsmodel.Account) []string + mutateUserAccount func(*gtsmodel.User, *gtsmodel.Account) expectedStatusCode int expectedLocationHeader string } @@ -29,44 +29,40 @@ func (suite *AuthAuthorizeTestSuite) TestAccountAuthorizeHandler() { tests := []authorizeHandlerTestCase{ { description: "user has their email unconfirmed", - mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) []string { + mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) { // nothing to do, weed_lord420 already has their email unconfirmed - return nil }, expectedStatusCode: http.StatusSeeOther, expectedLocationHeader: auth.CheckYourEmailPath, }, { description: "user has their email confirmed but is not approved", - mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) []string { + mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) { user.ConfirmedAt = time.Now() user.Email = user.UnconfirmedEmail - return []string{"confirmed_at", "email"} }, expectedStatusCode: http.StatusSeeOther, expectedLocationHeader: auth.WaitForApprovalPath, }, { description: "user has their email confirmed and is approved, but User entity has been disabled", - mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) []string { + mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) { user.ConfirmedAt = time.Now() user.Email = user.UnconfirmedEmail user.Approved = testrig.TrueBool() user.Disabled = testrig.TrueBool() - return []string{"confirmed_at", "email", "approved", "disabled"} }, expectedStatusCode: http.StatusSeeOther, expectedLocationHeader: auth.AccountDisabledPath, }, { description: "user has their email confirmed and is approved, but Account entity has been suspended", - mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) []string { + mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) { user.ConfirmedAt = time.Now() user.Email = user.UnconfirmedEmail user.Approved = testrig.TrueBool() user.Disabled = testrig.FalseBool() account.SuspendedAt = time.Now() - return []string{"confirmed_at", "email", "approved", "disabled"} }, expectedStatusCode: http.StatusSeeOther, expectedLocationHeader: auth.AccountDisabledPath, @@ -81,6 +77,7 @@ func (suite *AuthAuthorizeTestSuite) TestAccountAuthorizeHandler() { *user = *suite.testUsers["unconfirmed_account"] *account = *suite.testAccounts["unconfirmed_account"] + user.SignInCount++ // cannot be 0 or fails NULL constraint testSession := sessions.Default(ctx) testSession.Set(sessionUserID, user.ID) @@ -89,14 +86,13 @@ func (suite *AuthAuthorizeTestSuite) TestAccountAuthorizeHandler() { panic(fmt.Errorf("failed on case %s: %w", testCase.description, err)) } - updatingColumns := testCase.mutateUserAccount(user, account) + testCase.mutateUserAccount(user, account) testCase.description = fmt.Sprintf("%s, %t, %s", user.Email, *user.Disabled, account.SuspendedAt) - updatingColumns = append(updatingColumns, "updated_at") - _, err := suite.db.UpdateUser(context.Background(), user, updatingColumns...) + err := suite.db.UpdateUser(context.Background(), user) suite.NoError(err) - _, err = suite.db.UpdateAccount(context.Background(), account) + err = suite.db.UpdateAccount(context.Background(), account) suite.NoError(err) // call the handler diff --git a/internal/api/client/status/statuscreate.go b/internal/api/client/status/statuscreate.go index 3b2ee1e05..c1427411d 100644 --- a/internal/api/client/status/statuscreate.go +++ b/internal/api/client/status/statuscreate.go @@ -90,6 +90,15 @@ func (m *Module) StatusCreatePOSTHandler(c *gin.Context) { return } + // DO NOT COMMIT THIS UNCOMMENTED, IT WILL CAUSE MASS CHAOS. + // this is being left in as an ode to kim's shitposting. + // + // user := authed.Account.DisplayName + // if user == "" { + // user = authed.Account.Username + // } + // form.Status += "\n\nsent from " + user + "'s iphone\n" + if err := validateCreateStatus(form); err != nil { api.ErrorHandler(c, gtserror.NewErrorBadRequest(err, err.Error()), m.processor.InstanceGet) return diff --git a/internal/api/client/status/statuscreate_test.go b/internal/api/client/status/statuscreate_test.go index 78d025be1..9b570ba18 100644 --- a/internal/api/client/status/statuscreate_test.go +++ b/internal/api/client/status/statuscreate_test.go @@ -106,8 +106,9 @@ func (suite *StatusCreateTestSuite) TestPostNewStatusMarkdown() { // set default post language of account 1 to markdown testAccount := suite.testAccounts["local_account_1"] testAccount.StatusFormat = "markdown" + a := testAccount - a, err := suite.db.UpdateAccount(context.Background(), testAccount) + err := suite.db.UpdateAccount(context.Background(), a) if err != nil { suite.FailNow(err.Error()) } @@ -149,9 +150,8 @@ func (suite *StatusCreateTestSuite) TestPostNewStatusMarkdown() { func (suite *StatusCreateTestSuite) TestMentionUnknownAccount() { // first remove remote account 1 from the database so it gets looked up again remoteAccount := suite.testAccounts["remote_account_1"] - if err := suite.db.DeleteByID(context.Background(), remoteAccount.ID, >smodel.Account{}); err != nil { - panic(err) - } + err := suite.db.DeleteAccount(context.Background(), remoteAccount.ID) + suite.NoError(err) t := suite.testTokens["local_account_1"] oauthToken := oauth.DBTokenToToken(t) |