summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorLibravatar tobi <tobi.smethurst@protonmail.com>2025-09-03 16:57:12 +0200
committerLibravatar tobi <tobi.smethurst@protonmail.com>2025-09-03 16:57:12 +0200
commit90851fc97b98e8ac500a0936bc051a4301188ce2 (patch)
tree03ecc47dd1f03a3b06936a5290612e520274deff /internal
parent[chore] Update interactionPolicy sub-policy parsing in line with documented d... (diff)
downloadgotosocial-0.19.2.tar.xz
[chore] Use correct policy modelsv0.19.2
Diffstat (limited to 'internal')
-rw-r--r--internal/db/bundb/migrations/20240620074530_interaction_policy.go6
-rw-r--r--internal/filter/interaction/interactable_test.go45
2 files changed, 26 insertions, 25 deletions
diff --git a/internal/db/bundb/migrations/20240620074530_interaction_policy.go b/internal/db/bundb/migrations/20240620074530_interaction_policy.go
index 33f2c184f..2dc1e0f5a 100644
--- a/internal/db/bundb/migrations/20240620074530_interaction_policy.go
+++ b/internal/db/bundb/migrations/20240620074530_interaction_policy.go
@@ -173,7 +173,7 @@ func init() {
if !*oldStatus.Likeable {
// Only author can like.
- policy.CanLike = gtsmodel.PolicyRules{
+ policy.CanLike = &gtsmodel.PolicyRules{
Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
@@ -183,7 +183,7 @@ func init() {
if !*oldStatus.Replyable {
// Only author + mentioned can Reply.
- policy.CanReply = gtsmodel.PolicyRules{
+ policy.CanReply = &gtsmodel.PolicyRules{
Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
gtsmodel.PolicyValueMentioned,
@@ -194,7 +194,7 @@ func init() {
if !*oldStatus.Boostable {
// Only author can Announce.
- policy.CanAnnounce = gtsmodel.PolicyRules{
+ policy.CanAnnounce = &gtsmodel.PolicyRules{
Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
diff --git a/internal/filter/interaction/interactable_test.go b/internal/filter/interaction/interactable_test.go
index 9eede31c0..5006cf0a5 100644
--- a/internal/filter/interaction/interactable_test.go
+++ b/internal/filter/interaction/interactable_test.go
@@ -18,6 +18,7 @@
package interaction_test
import (
+ "context"
"strconv"
"testing"
@@ -54,7 +55,7 @@ func (suite *InteractionTestSuite) TestInteractable() {
// as the base post for these tests.
modelStatus := suite.testStatuses["local_account_1_status_1"]
- ctx := suite.T().Context()
+ ctx := context.Background()
for i, test := range []struct {
policy *gtsmodel.InteractionPolicy
account *gtsmodel.Account
@@ -67,9 +68,9 @@ func (suite *InteractionTestSuite) TestInteractable() {
// it will fall back to the default then.
policy: nil,
account: suite.testAccounts["admin_account"],
- likeable: gtsmodel.PolicyPermissionAutomaticApproval,
- replyable: gtsmodel.PolicyPermissionAutomaticApproval,
- boostable: gtsmodel.PolicyPermissionAutomaticApproval,
+ likeable: gtsmodel.PolicyPermissionPermitted,
+ replyable: gtsmodel.PolicyPermissionPermitted,
+ boostable: gtsmodel.PolicyPermissionPermitted,
},
{
// Nil canLike, everything else
@@ -78,18 +79,18 @@ func (suite *InteractionTestSuite) TestInteractable() {
policy: &gtsmodel.InteractionPolicy{
CanLike: nil,
CanReply: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
},
CanAnnounce: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
},
},
account: suite.testAccounts["admin_account"],
- likeable: gtsmodel.PolicyPermissionAutomaticApproval,
+ likeable: gtsmodel.PolicyPermissionPermitted,
replyable: gtsmodel.PolicyPermissionForbidden,
boostable: gtsmodel.PolicyPermissionForbidden,
},
@@ -98,60 +99,60 @@ func (suite *InteractionTestSuite) TestInteractable() {
// account checking, so all should be fine.
policy: &gtsmodel.InteractionPolicy{
CanLike: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
},
CanReply: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
},
CanAnnounce: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
},
},
account: suite.testAccounts["local_account_1"],
- likeable: gtsmodel.PolicyPermissionAutomaticApproval,
- replyable: gtsmodel.PolicyPermissionAutomaticApproval,
- boostable: gtsmodel.PolicyPermissionAutomaticApproval,
+ likeable: gtsmodel.PolicyPermissionPermitted,
+ replyable: gtsmodel.PolicyPermissionPermitted,
+ boostable: gtsmodel.PolicyPermissionPermitted,
},
{
// Followers can like automatically,
// everything else requires manual approval.
policy: &gtsmodel.InteractionPolicy{
CanLike: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
gtsmodel.PolicyValueFollowers,
},
- ManualApproval: gtsmodel.PolicyValues{
+ WithApproval: gtsmodel.PolicyValues{
gtsmodel.PolicyValuePublic,
},
},
CanReply: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
- ManualApproval: gtsmodel.PolicyValues{
+ WithApproval: gtsmodel.PolicyValues{
gtsmodel.PolicyValuePublic,
},
},
CanAnnounce: &gtsmodel.PolicyRules{
- AutomaticApproval: gtsmodel.PolicyValues{
+ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor,
},
- ManualApproval: gtsmodel.PolicyValues{
+ WithApproval: gtsmodel.PolicyValues{
gtsmodel.PolicyValuePublic,
},
},
},
account: suite.testAccounts["admin_account"],
- likeable: gtsmodel.PolicyPermissionAutomaticApproval,
- replyable: gtsmodel.PolicyPermissionManualApproval,
- boostable: gtsmodel.PolicyPermissionManualApproval,
+ likeable: gtsmodel.PolicyPermissionPermitted,
+ replyable: gtsmodel.PolicyPermissionWithApproval,
+ boostable: gtsmodel.PolicyPermissionWithApproval,
},
} {
// Copy model status.