diff options
author | 2023-08-07 19:38:11 +0200 | |
---|---|---|
committer | 2023-08-07 18:38:11 +0100 | |
commit | be3718f6e4c7bb229f9eb78b44c52d14399977cc (patch) | |
tree | a0efc132fbfb806227cc4b9af8bac9f5a5775c1c /internal | |
parent | [chore]: Bump github.com/tdewolff/minify/v2 from 2.12.7 to 2.12.8 (#2073) (diff) | |
download | gotosocial-be3718f6e4c7bb229f9eb78b44c52d14399977cc.tar.xz |
[chore] Use generic pointer function (#2080)
This replaces the different $TypePtr functions with a generic
implementation.
Diffstat (limited to 'internal')
21 files changed, 161 insertions, 135 deletions
diff --git a/internal/api/auth/authorize_test.go b/internal/api/auth/authorize_test.go index ff65d041b..54df4c5e5 100644 --- a/internal/api/auth/authorize_test.go +++ b/internal/api/auth/authorize_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/api/auth" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" - "github.com/superseriousbusiness/gotosocial/testrig" + "github.com/superseriousbusiness/gotosocial/internal/util" ) type AuthAuthorizeTestSuite struct { @@ -51,8 +51,8 @@ func (suite *AuthAuthorizeTestSuite) TestAccountAuthorizeHandler() { mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) []string { user.ConfirmedAt = time.Now() user.Email = user.UnconfirmedEmail - user.Approved = testrig.TrueBool() - user.Disabled = testrig.TrueBool() + user.Approved = util.Ptr(true) + user.Disabled = util.Ptr(true) return []string{"confirmed_at", "email", "approved", "disabled"} }, expectedStatusCode: http.StatusSeeOther, @@ -63,8 +63,8 @@ func (suite *AuthAuthorizeTestSuite) TestAccountAuthorizeHandler() { mutateUserAccount: func(user *gtsmodel.User, account *gtsmodel.Account) []string { user.ConfirmedAt = time.Now() user.Email = user.UnconfirmedEmail - user.Approved = testrig.TrueBool() - user.Disabled = testrig.FalseBool() + user.Approved = util.Ptr(true) + user.Disabled = util.Ptr(false) account.SuspendedAt = time.Now() return []string{"confirmed_at", "email", "approved", "disabled"} }, diff --git a/internal/api/client/admin/reportresolve_test.go b/internal/api/client/admin/reportresolve_test.go index 754dbb443..087080a70 100644 --- a/internal/api/client/admin/reportresolve_test.go +++ b/internal/api/client/admin/reportresolve_test.go @@ -138,7 +138,7 @@ func (suite *ReportResolveTestSuite) TestReportResolve2() { testToken := suite.testTokens["admin_account"] testUser := suite.testUsers["admin_account"] testReportID := suite.testReports["local_account_2_report_remote_account_1"].ID - var actionTakenComment *string = testrig.StringPtr("no action was taken, this is a frivolous report you boob") + var actionTakenComment *string = util.Ptr("no action was taken, this is a frivolous report you boob") report, err := suite.resolveReport(testAccount, testToken, testUser, testReportID, http.StatusOK, "", actionTakenComment) suite.NoError(err) diff --git a/internal/api/client/admin/reportsget_test.go b/internal/api/client/admin/reportsget_test.go index 4f29aa872..943e9711a 100644 --- a/internal/api/client/admin/reportsget_test.go +++ b/internal/api/client/admin/reportsget_test.go @@ -32,6 +32,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/oauth" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -963,7 +964,7 @@ func (suite *ReportsGetTestSuite) TestReportsGetResolvedTargetAccount() { testAccount := suite.testAccounts["admin_account"] testToken := suite.testTokens["admin_account"] testUser := suite.testUsers["admin_account"] - resolved := testrig.FalseBool() + resolved := util.Ptr(false) targetAccount := suite.testAccounts["local_account_2"] reports, link, err := suite.getReports(testAccount, testToken, testUser, http.StatusOK, "", resolved, "", targetAccount.ID, "", "", "", 20) diff --git a/internal/api/client/instance/instancepeersget_test.go b/internal/api/client/instance/instancepeersget_test.go index 70f625069..a2c81cc4e 100644 --- a/internal/api/client/instance/instancepeersget_test.go +++ b/internal/api/client/instance/instancepeersget_test.go @@ -32,6 +32,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/api/client/instance" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -231,7 +232,7 @@ func (suite *InstancePeersGetTestSuite) TestInstancePeersGetAllWithObfuscated() Domain: "omg.just.the.worst.org.ever", CreatedByAccountID: "01F8MH17FWEB39HZJ76B6VXSKF", PublicComment: "just absolutely the worst, wowza", - Obfuscate: testrig.TrueBool(), + Obfuscate: util.Ptr(true), }) suite.NoError(err) diff --git a/internal/api/client/reports/reportsget_test.go b/internal/api/client/reports/reportsget_test.go index 709077f0d..d220dc94d 100644 --- a/internal/api/client/reports/reportsget_test.go +++ b/internal/api/client/reports/reportsget_test.go @@ -32,6 +32,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/oauth" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -197,7 +198,7 @@ func (suite *ReportsGetTestSuite) TestGetReports4() { testAccount := suite.testAccounts["local_account_2"] testToken := suite.testTokens["local_account_2"] testUser := suite.testUsers["local_account_2"] - resolved := testrig.FalseBool() + resolved := util.Ptr(false) reports, link, err := suite.getReports(testAccount, testToken, testUser, http.StatusOK, resolved, "", "", "", "", 20) suite.NoError(err) @@ -252,7 +253,7 @@ func (suite *ReportsGetTestSuite) TestGetReports5() { testAccount := suite.testAccounts["local_account_1"] testToken := suite.testTokens["local_account_1"] testUser := suite.testUsers["local_account_1"] - resolved := testrig.TrueBool() + resolved := util.Ptr(true) reports, link, err := suite.getReports(testAccount, testToken, testUser, http.StatusOK, resolved, "", "", "", "", 20) suite.NoError(err) @@ -323,7 +324,7 @@ func (suite *ReportsGetTestSuite) TestGetReports7() { testAccount := suite.testAccounts["local_account_2"] testToken := suite.testTokens["local_account_2"] testUser := suite.testUsers["local_account_2"] - resolved := testrig.FalseBool() + resolved := util.Ptr(false) reports, link, err := suite.getReports(testAccount, testToken, testUser, http.StatusOK, resolved, "01F8MH5ZK5VRH73AKHQM6Y9VNX", "", "", "", 20) suite.NoError(err) diff --git a/internal/api/client/statuses/statuspin_test.go b/internal/api/client/statuses/statuspin_test.go index c7ed6e95d..034860031 100644 --- a/internal/api/client/statuses/statuspin_test.go +++ b/internal/api/client/statuses/statuspin_test.go @@ -36,6 +36,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" "github.com/superseriousbusiness/gotosocial/internal/oauth" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -165,14 +166,14 @@ func (suite *StatusPinTestSuite) TestPinStatusTooManyPins() { PinnedAt: time.Now(), URL: "stub " + strconv.Itoa(i), URI: "stub " + strconv.Itoa(i), - Local: testrig.TrueBool(), + Local: util.Ptr(true), AccountID: testAccount.ID, AccountURI: testAccount.URI, Visibility: gtsmodel.VisibilityPublic, - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, status); err != nil { diff --git a/internal/db/bundb/admin.go b/internal/db/bundb/admin.go index fb1fb9d6c..723648a9e 100644 --- a/internal/db/bundb/admin.go +++ b/internal/db/bundb/admin.go @@ -36,6 +36,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/state" "github.com/superseriousbusiness/gotosocial/internal/uris" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/uptrace/bun" "golang.org/x/crypto/bcrypt" ) @@ -198,17 +199,15 @@ func (a *adminDB) NewSignup(ctx context.Context, newSignup gtsmodel.NewSignup) ( user.Email = newSignup.Email } - trueBool := func() *bool { t := true; return &t } - if newSignup.Admin { // Make new user mod + admin. - user.Moderator = trueBool() - user.Admin = trueBool() + user.Moderator = util.Ptr(true) + user.Admin = util.Ptr(true) } if newSignup.PreApproved { // Mark new user as approved. - user.Approved = trueBool() + user.Approved = util.Ptr(true) } // Insert the user! diff --git a/internal/db/bundb/instance_test.go b/internal/db/bundb/instance_test.go index 580a7699b..a825a3341 100644 --- a/internal/db/bundb/instance_test.go +++ b/internal/db/bundb/instance_test.go @@ -25,7 +25,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" - "github.com/superseriousbusiness/gotosocial/testrig" + "github.com/superseriousbusiness/gotosocial/internal/util" ) type InstanceTestSuite struct { @@ -103,7 +103,7 @@ func (suite *InstanceTestSuite) TestGetInstanceModeratorAddressesZorkAsModerator // Promote zork to moderator role. testUser := >smodel.User{} *testUser = *suite.testUsers["local_account_1"] - testUser.Moderator = testrig.TrueBool() + testUser.Moderator = util.Ptr(true) if err := suite.db.UpdateUser(context.Background(), testUser, "moderator"); err != nil { suite.FailNow(err.Error()) } @@ -117,8 +117,8 @@ func (suite *InstanceTestSuite) TestGetInstanceModeratorAddressesNoAdmin() { // Demote admin from admin + moderator roles. testUser := >smodel.User{} *testUser = *suite.testUsers["admin_account"] - testUser.Admin = testrig.FalseBool() - testUser.Moderator = testrig.FalseBool() + testUser.Admin = util.Ptr(false) + testUser.Moderator = util.Ptr(false) if err := suite.db.UpdateUser(context.Background(), testUser, "admin", "moderator"); err != nil { suite.FailNow(err.Error()) } diff --git a/internal/db/bundb/notification_test.go b/internal/db/bundb/notification_test.go index 8bbea78ad..e27475476 100644 --- a/internal/db/bundb/notification_test.go +++ b/internal/db/bundb/notification_test.go @@ -28,7 +28,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" - "github.com/superseriousbusiness/gotosocial/testrig" + "github.com/superseriousbusiness/gotosocial/internal/util" ) func (suite *NotificationTestSuite) spamNotifs() { @@ -70,7 +70,7 @@ func (suite *NotificationTestSuite) spamNotifs() { TargetAccountID: targetAccountID, OriginAccountID: originAccountID, StatusID: statusID, - Read: testrig.FalseBool(), + Read: util.Ptr(false), } if err := suite.db.Put(context.Background(), notif); err != nil { diff --git a/internal/db/bundb/relationship_test.go b/internal/db/bundb/relationship_test.go index cf2df5144..d7c93ff0e 100644 --- a/internal/db/bundb/relationship_test.go +++ b/internal/db/bundb/relationship_test.go @@ -28,7 +28,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" - "github.com/superseriousbusiness/gotosocial/testrig" + "github.com/superseriousbusiness/gotosocial/internal/util" ) type RelationshipTestSuite struct { @@ -892,7 +892,7 @@ func (suite *RelationshipTestSuite) TestUpdateFollow() { follow := >smodel.Follow{} *follow = *suite.testFollows["local_account_1_admin_account"] - follow.Notify = testrig.TrueBool() + follow.Notify = util.Ptr(true) if err := suite.db.UpdateFollow(ctx, follow, "notify"); err != nil { suite.FailNow(err.Error()) } diff --git a/internal/db/bundb/report_test.go b/internal/db/bundb/report_test.go index c5ec070e0..594b0b7aa 100644 --- a/internal/db/bundb/report_test.go +++ b/internal/db/bundb/report_test.go @@ -24,6 +24,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -88,7 +89,7 @@ func (suite *ReportTestSuite) TestPutReport() { TargetAccountID: "01F8MH5ZK5VRH73AKHQM6Y9VNX", Comment: "another report", StatusIDs: []string{"01FVW7JHQFSFK166WWKR8CBA6M"}, - Forwarded: testrig.TrueBool(), + Forwarded: util.Ptr(true), } err := suite.db.PutReport(ctx, report) diff --git a/internal/db/bundb/timeline_test.go b/internal/db/bundb/timeline_test.go index 43407bc69..2bc9c9d0d 100644 --- a/internal/db/bundb/timeline_test.go +++ b/internal/db/bundb/timeline_test.go @@ -26,7 +26,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" - "github.com/superseriousbusiness/gotosocial/testrig" + "github.com/superseriousbusiness/gotosocial/internal/util" ) type TimelineTestSuite struct { @@ -52,20 +52,20 @@ func getFutureStatus() *gtsmodel.Status { EmojiIDs: []string{}, CreatedAt: theDistantFuture, UpdatedAt: theDistantFuture, - Local: testrig.TrueBool(), + Local: util.Ptr(true), AccountURI: "http://localhost:8080/users/admin", AccountID: "01F8MH17FWEB39HZJ76B6VXSKF", InReplyToID: "", BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityPublic, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } } diff --git a/internal/federation/federatingactor_test.go b/internal/federation/federatingactor_test.go index f0010152f..348d501d6 100644 --- a/internal/federation/federatingactor_test.go +++ b/internal/federation/federatingactor_test.go @@ -28,6 +28,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/federation" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -80,9 +81,9 @@ func (suite *FederatingActorTestSuite) TestSendRemoteFollower() { UpdatedAt: testrig.TimeMustParse("2022-06-02T12:22:21+02:00"), AccountID: testRemoteAccount.ID, TargetAccountID: testAccount.ID, - ShowReblogs: testrig.TrueBool(), + ShowReblogs: util.Ptr(true), URI: "http://fossbros-anonymous.io/users/foss_satan/follows/01G1TRWV4AYCDBX5HRWT2EVBCV", - Notify: testrig.FalseBool(), + Notify: util.Ptr(false), }) suite.NoError(err) diff --git a/internal/processing/account/delete.go b/internal/processing/account/delete.go index dd5957531..d2483aeb1 100644 --- a/internal/processing/account/delete.go +++ b/internal/processing/account/delete.go @@ -31,6 +31,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/messages" + "github.com/superseriousbusiness/gotosocial/internal/util" "golang.org/x/crypto/bcrypt" ) @@ -427,10 +428,8 @@ func (p *Processor) deleteAccountPeripheral(ctx context.Context, account *gtsmod // names of all columns that are updated by it. func stubbifyAccount(account *gtsmodel.Account, origin string) []string { var ( - falseBool = func() *bool { b := false; return &b } - trueBool = func() *bool { b := true; return &b } - now = time.Now() - never = time.Time{} + now = time.Now() + never = time.Time{} ) account.FetchedAt = never @@ -444,17 +443,17 @@ func stubbifyAccount(account *gtsmodel.Account, origin string) []string { account.Fields = nil account.Note = "" account.NoteRaw = "" - account.Memorial = falseBool() + account.Memorial = util.Ptr(false) account.AlsoKnownAs = "" account.MovedToAccountID = "" account.Reason = "" - account.Discoverable = falseBool() + account.Discoverable = util.Ptr(false) account.StatusContentType = "" account.CustomCSS = "" account.SuspendedAt = now account.SuspensionOrigin = origin - account.HideCollections = trueBool() - account.EnableRSS = falseBool() + account.HideCollections = util.Ptr(true) + account.EnableRSS = util.Ptr(false) return []string{ "fetched_at", diff --git a/internal/processing/account/follow_test.go b/internal/processing/account/follow_test.go index 70a28eea2..ed6b62304 100644 --- a/internal/processing/account/follow_test.go +++ b/internal/processing/account/follow_test.go @@ -23,7 +23,7 @@ import ( "github.com/stretchr/testify/suite" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" - "github.com/superseriousbusiness/gotosocial/testrig" + "github.com/superseriousbusiness/gotosocial/internal/util" ) type FollowTestSuite struct { @@ -40,10 +40,9 @@ func (suite *FollowTestSuite) TestUpdateExistingFollowChangeBoth() { // UPDATE "follows" AS "follow" SET "show_reblogs" = FALSE, "notify" = TRUE, "updated_at" = '2023-04-09 11:42:39.424705+00:00' WHERE ("follow"."id" = '01F8PY8RHWRQZV038T4E8T9YK8') relationship, err := suite.accountProcessor.FollowCreate(ctx, requestingAccount, &apimodel.AccountFollowRequest{ ID: targetAccount.ID, - Reblogs: testrig.FalseBool(), - Notify: testrig.TrueBool(), + Reblogs: util.Ptr(false), + Notify: util.Ptr(true), }) - if err != nil { suite.FailNow(err.Error()) } @@ -62,9 +61,8 @@ func (suite *FollowTestSuite) TestUpdateExistingFollowChangeNotifyIgnoreReblogs( // UPDATE "follows" AS "follow" SET "notify" = TRUE, "updated_at" = '2023-04-09 11:40:33.827858+00:00' WHERE ("follow"."id" = '01F8PY8RHWRQZV038T4E8T9YK8') relationship, err := suite.accountProcessor.FollowCreate(ctx, requestingAccount, &apimodel.AccountFollowRequest{ ID: targetAccount.ID, - Notify: testrig.TrueBool(), + Notify: util.Ptr(true), }) - if err != nil { suite.FailNow(err.Error()) } @@ -83,10 +81,9 @@ func (suite *FollowTestSuite) TestUpdateExistingFollowChangeNotifySetReblogs() { // UPDATE "follows" AS "follow" SET "notify" = TRUE, "updated_at" = '2023-04-09 11:40:33.827858+00:00' WHERE ("follow"."id" = '01F8PY8RHWRQZV038T4E8T9YK8') relationship, err := suite.accountProcessor.FollowCreate(ctx, requestingAccount, &apimodel.AccountFollowRequest{ ID: targetAccount.ID, - Notify: testrig.TrueBool(), - Reblogs: testrig.TrueBool(), + Notify: util.Ptr(true), + Reblogs: util.Ptr(true), }) - if err != nil { suite.FailNow(err.Error()) } @@ -104,10 +101,9 @@ func (suite *FollowTestSuite) TestUpdateExistingFollowChangeNothing() { // Trace logs should show no update query. relationship, err := suite.accountProcessor.FollowCreate(ctx, requestingAccount, &apimodel.AccountFollowRequest{ ID: targetAccount.ID, - Notify: testrig.FalseBool(), - Reblogs: testrig.TrueBool(), + Notify: util.Ptr(false), + Reblogs: util.Ptr(true), }) - if err != nil { suite.FailNow(err.Error()) } @@ -126,7 +122,6 @@ func (suite *FollowTestSuite) TestUpdateExistingFollowSetNothing() { relationship, err := suite.accountProcessor.FollowCreate(ctx, requestingAccount, &apimodel.AccountFollowRequest{ ID: targetAccount.ID, }) - if err != nil { suite.FailNow(err.Error()) } diff --git a/internal/processing/fromclientapi_test.go b/internal/processing/fromclientapi_test.go index 808f02cd6..94068e192 100644 --- a/internal/processing/fromclientapi_test.go +++ b/internal/processing/fromclientapi_test.go @@ -30,6 +30,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/messages" "github.com/superseriousbusiness/gotosocial/internal/stream" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -63,20 +64,20 @@ func (suite *FromClientAPITestSuite) TestProcessStreamNewStatus() { EmojiIDs: []string{}, CreatedAt: testrig.TimeMustParse("2021-10-20T11:36:45Z"), UpdatedAt: testrig.TimeMustParse("2021-10-20T11:36:45Z"), - Local: testrig.TrueBool(), + Local: util.Ptr(true), AccountURI: "http://localhost:8080/users/admin", AccountID: "01F8MH17FWEB39HZJ76B6VXSKF", InReplyToID: "", BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityFollowersOnly, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F", - Federated: testrig.FalseBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(false), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } @@ -189,7 +190,7 @@ func (suite *FromClientAPITestSuite) TestProcessNewStatusWithNotification() { // that receiving account wants notifs when posting account posts. follow := >smodel.Follow{} *follow = *suite.testFollows["local_account_1_admin_account"] - follow.Notify = testrig.TrueBool() + follow.Notify = util.Ptr(true) if err := suite.db.UpdateFollow(ctx, follow); err != nil { suite.FailNow(err.Error()) } @@ -206,20 +207,20 @@ func (suite *FromClientAPITestSuite) TestProcessNewStatusWithNotification() { EmojiIDs: []string{}, CreatedAt: testrig.TimeMustParse("2021-10-20T11:36:45Z"), UpdatedAt: testrig.TimeMustParse("2021-10-20T11:36:45Z"), - Local: testrig.TrueBool(), + Local: util.Ptr(true), AccountURI: "http://localhost:8080/users/admin", AccountID: "01F8MH17FWEB39HZJ76B6VXSKF", InReplyToID: "", BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityFollowersOnly, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F", - Federated: testrig.FalseBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(false), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } diff --git a/internal/processing/fromfederator_test.go b/internal/processing/fromfederator_test.go index a981899d2..0b0e52811 100644 --- a/internal/processing/fromfederator_test.go +++ b/internal/processing/fromfederator_test.go @@ -32,6 +32,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/id" "github.com/superseriousbusiness/gotosocial/internal/messages" "github.com/superseriousbusiness/gotosocial/internal/stream" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -110,10 +111,10 @@ func (suite *FromFederatorTestSuite) TestProcessReplyMention() { InReplyToAccountID: repliedAccount.ID, Visibility: gtsmodel.VisibilityUnlocked, ActivityStreamsType: ap.ObjectNote, - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.FalseBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(false), } wssStream, errWithCode := suite.processor.Stream().Open(context.Background(), repliedAccount, stream.TimelineHome) @@ -317,9 +318,9 @@ func (suite *FromFederatorTestSuite) TestProcessAccountDelete() { UpdatedAt: time.Now().Add(-1 * time.Hour), AccountID: deletedAccount.ID, TargetAccountID: receivingAccount.ID, - ShowReblogs: testrig.TrueBool(), + ShowReblogs: util.Ptr(true), URI: fmt.Sprintf("%s/follows/01FGRY72ASHBSET64353DPHK9T", deletedAccount.URI), - Notify: testrig.FalseBool(), + Notify: util.Ptr(false), } err := suite.db.Put(ctx, zorkFollowSatan) suite.NoError(err) @@ -330,9 +331,9 @@ func (suite *FromFederatorTestSuite) TestProcessAccountDelete() { UpdatedAt: time.Now().Add(-1 * time.Hour), AccountID: receivingAccount.ID, TargetAccountID: deletedAccount.ID, - ShowReblogs: testrig.TrueBool(), + ShowReblogs: util.Ptr(true), URI: fmt.Sprintf("%s/follows/01FGRYAVAWWPP926J175QGM0WV", receivingAccount.URI), - Notify: testrig.FalseBool(), + Notify: util.Ptr(false), } err = suite.db.Put(ctx, satanFollowZork) suite.NoError(err) @@ -405,9 +406,9 @@ func (suite *FromFederatorTestSuite) TestProcessFollowRequestLocked() { Account: originAccount, TargetAccountID: targetAccount.ID, TargetAccount: targetAccount, - ShowReblogs: testrig.TrueBool(), + ShowReblogs: util.Ptr(true), URI: fmt.Sprintf("%s/follows/01FGRYAVAWWPP926J175QGM0WV", originAccount.URI), - Notify: testrig.FalseBool(), + Notify: util.Ptr(false), } err := suite.db.Put(ctx, satanFollowRequestTurtle) @@ -462,9 +463,9 @@ func (suite *FromFederatorTestSuite) TestProcessFollowRequestUnlocked() { Account: originAccount, TargetAccountID: targetAccount.ID, TargetAccount: targetAccount, - ShowReblogs: testrig.TrueBool(), + ShowReblogs: util.Ptr(true), URI: fmt.Sprintf("%s/follows/01FGRYAVAWWPP926J175QGM0WV", originAccount.URI), - Notify: testrig.FalseBool(), + Notify: util.Ptr(false), } err := suite.db.Put(ctx, satanFollowRequestTurtle) diff --git a/internal/processing/media/getfile_test.go b/internal/processing/media/getfile_test.go index c1acd859b..f0517b339 100644 --- a/internal/processing/media/getfile_test.go +++ b/internal/processing/media/getfile_test.go @@ -28,6 +28,7 @@ import ( apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/media" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -68,7 +69,7 @@ func (suite *GetFileTestSuite) TestGetRemoteFileUncached() { // uncache the file from local testAttachment := suite.testAttachments["remote_account_1_status_1_attachment_1"] - testAttachment.Cached = testrig.FalseBool() + testAttachment.Cached = util.Ptr(false) err := suite.db.UpdateByID(ctx, testAttachment, testAttachment.ID, "cached") suite.NoError(err) err = suite.storage.Delete(ctx, testAttachment.File.Path) @@ -120,7 +121,7 @@ func (suite *GetFileTestSuite) TestGetRemoteFileUncachedInterrupted() { // uncache the file from local testAttachment := suite.testAttachments["remote_account_1_status_1_attachment_1"] - testAttachment.Cached = testrig.FalseBool() + testAttachment.Cached = util.Ptr(false) err := suite.db.UpdateByID(ctx, testAttachment, testAttachment.ID, "cached") suite.NoError(err) err = suite.storage.Delete(ctx, testAttachment.File.Path) @@ -177,7 +178,7 @@ func (suite *GetFileTestSuite) TestGetRemoteFileThumbnailUncached() { suite.NoError(err) // uncache the file from local - testAttachment.Cached = testrig.FalseBool() + testAttachment.Cached = util.Ptr(false) err = suite.db.UpdateByID(ctx, testAttachment, testAttachment.ID, "cached") suite.NoError(err) err = suite.storage.Delete(ctx, testAttachment.File.Path) diff --git a/internal/typeutils/astointernal.go b/internal/typeutils/astointernal.go index 9b2552131..ea77bb65c 100644 --- a/internal/typeutils/astointernal.go +++ b/internal/typeutils/astointernal.go @@ -31,6 +31,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/uris" + "github.com/superseriousbusiness/gotosocial/internal/util" ) func (c *converter) ASRepresentationToAccount(ctx context.Context, accountable ap.Accountable, accountDomain string) (*gtsmodel.Account, error) { @@ -396,11 +397,10 @@ func (c *converter) ASStatusToStatus(ctx context.Context, statusable ap.Statusab // TODO: a lot of work to be done here -- a new type // needs to be created for this in go-fed/activity. // Until this is implemented, assume all true. - var trueBool = func() *bool { b := true; return &b } - status.Federated = trueBool() - status.Boostable = trueBool() - status.Replyable = trueBool() - status.Likeable = trueBool() + status.Federated = util.Ptr(true) + status.Boostable = util.Ptr(true) + status.Replyable = util.Ptr(true) + status.Likeable = util.Ptr(true) // status.Sensitive status.Sensitive = func() *bool { diff --git a/internal/util/ptr.go b/internal/util/ptr.go new file mode 100644 index 000000000..4b7450b66 --- /dev/null +++ b/internal/util/ptr.go @@ -0,0 +1,23 @@ +// GoToSocial +// Copyright (C) GoToSocial Authors admin@gotosocial.org +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package util + +// Ptr returns a pointer to the passed in type +func Ptr[T any](t T) *T { + return &t +} diff --git a/internal/visibility/home_timeline_test.go b/internal/visibility/home_timeline_test.go index 3239d70b1..bc64c6425 100644 --- a/internal/visibility/home_timeline_test.go +++ b/internal/visibility/home_timeline_test.go @@ -25,6 +25,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" ) @@ -115,7 +116,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestThread() { Content: "nbnbdy expects dog", CreatedAt: testrig.TimeMustParse("2021-09-20T12:41:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:41:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://localhost:8080/users/the_mighty_zork", AccountID: threadParentAccount.ID, InReplyToID: originalStatus.ID, @@ -124,13 +125,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestThread() { BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityFollowersOnly, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, firstReplyStatus); err != nil { @@ -168,7 +169,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly( Content: "didn't expect dog", CreatedAt: testrig.TimeMustParse("2021-09-20T12:40:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:40:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://fossbros-anonymous.io/users/foss_satan", AccountID: originalStatusParent.ID, InReplyToID: "", @@ -177,13 +178,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly( BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityFollowersOnly, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, originalStatus); err != nil { @@ -202,7 +203,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly( Content: "nbnbdy expects dog", CreatedAt: testrig.TimeMustParse("2021-09-20T12:41:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:41:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://localhost:8080/users/the_mighty_zork", AccountID: replyingAccount.ID, InReplyToID: originalStatus.ID, @@ -211,13 +212,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly( BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityFollowersOnly, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, firstReplyStatus); err != nil { @@ -236,7 +237,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly( Content: "*nobody", CreatedAt: testrig.TimeMustParse("2021-09-20T12:42:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:42:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://localhost:8080/users/the_mighty_zork", AccountID: replyingAccount.ID, InReplyToID: firstReplyStatus.ID, @@ -245,13 +246,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyFollowersOnly( BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityFollowersOnly, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, secondReplyStatus); err != nil { @@ -281,7 +282,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyPublicAndUnloc Content: "didn't expect dog", CreatedAt: testrig.TimeMustParse("2021-09-20T12:40:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:40:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://fossbros-anonymous.io/users/foss_satan", AccountID: originalStatusParent.ID, InReplyToID: "", @@ -290,13 +291,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyPublicAndUnloc BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityUnlocked, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, originalStatus); err != nil { @@ -315,7 +316,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyPublicAndUnloc Content: "nbnbdy expects dog", CreatedAt: testrig.TimeMustParse("2021-09-20T12:41:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:41:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://localhost:8080/users/the_mighty_zork", AccountID: replyingAccount.ID, InReplyToID: originalStatus.ID, @@ -324,13 +325,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyPublicAndUnloc BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityPublic, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, firstReplyStatus); err != nil { @@ -349,7 +350,7 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyPublicAndUnloc Content: "*nobody", CreatedAt: testrig.TimeMustParse("2021-09-20T12:42:37+02:00"), UpdatedAt: testrig.TimeMustParse("2021-09-20T12:42:37+02:00"), - Local: testrig.FalseBool(), + Local: util.Ptr(false), AccountURI: "http://localhost:8080/users/the_mighty_zork", AccountID: replyingAccount.ID, InReplyToID: firstReplyStatus.ID, @@ -358,13 +359,13 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestChainReplyPublicAndUnloc BoostOfID: "", ContentWarning: "", Visibility: gtsmodel.VisibilityUnlocked, - Sensitive: testrig.FalseBool(), + Sensitive: util.Ptr(false), Language: "en", CreatedWithApplicationID: "", - Federated: testrig.TrueBool(), - Boostable: testrig.TrueBool(), - Replyable: testrig.TrueBool(), - Likeable: testrig.TrueBool(), + Federated: util.Ptr(true), + Boostable: util.Ptr(true), + Replyable: util.Ptr(true), + Likeable: util.Ptr(true), ActivityStreamsType: ap.ObjectNote, } if err := suite.db.PutStatus(ctx, secondReplyStatus); err != nil { |