[chore] Use correct policy models

This commit is contained in:
tobi 2025-09-03 16:57:12 +02:00
commit 90851fc97b
2 changed files with 26 additions and 25 deletions

View file

@ -173,7 +173,7 @@ func init() {
if !*oldStatus.Likeable { if !*oldStatus.Likeable {
// Only author can like. // Only author can like.
policy.CanLike = gtsmodel.PolicyRules{ policy.CanLike = &gtsmodel.PolicyRules{
Always: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
@ -183,7 +183,7 @@ func init() {
if !*oldStatus.Replyable { if !*oldStatus.Replyable {
// Only author + mentioned can Reply. // Only author + mentioned can Reply.
policy.CanReply = gtsmodel.PolicyRules{ policy.CanReply = &gtsmodel.PolicyRules{
Always: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
gtsmodel.PolicyValueMentioned, gtsmodel.PolicyValueMentioned,
@ -194,7 +194,7 @@ func init() {
if !*oldStatus.Boostable { if !*oldStatus.Boostable {
// Only author can Announce. // Only author can Announce.
policy.CanAnnounce = gtsmodel.PolicyRules{ policy.CanAnnounce = &gtsmodel.PolicyRules{
Always: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },

View file

@ -18,6 +18,7 @@
package interaction_test package interaction_test
import ( import (
"context"
"strconv" "strconv"
"testing" "testing"
@ -54,7 +55,7 @@ func (suite *InteractionTestSuite) TestInteractable() {
// as the base post for these tests. // as the base post for these tests.
modelStatus := suite.testStatuses["local_account_1_status_1"] modelStatus := suite.testStatuses["local_account_1_status_1"]
ctx := suite.T().Context() ctx := context.Background()
for i, test := range []struct { for i, test := range []struct {
policy *gtsmodel.InteractionPolicy policy *gtsmodel.InteractionPolicy
account *gtsmodel.Account account *gtsmodel.Account
@ -67,9 +68,9 @@ func (suite *InteractionTestSuite) TestInteractable() {
// it will fall back to the default then. // it will fall back to the default then.
policy: nil, policy: nil,
account: suite.testAccounts["admin_account"], account: suite.testAccounts["admin_account"],
likeable: gtsmodel.PolicyPermissionAutomaticApproval, likeable: gtsmodel.PolicyPermissionPermitted,
replyable: gtsmodel.PolicyPermissionAutomaticApproval, replyable: gtsmodel.PolicyPermissionPermitted,
boostable: gtsmodel.PolicyPermissionAutomaticApproval, boostable: gtsmodel.PolicyPermissionPermitted,
}, },
{ {
// Nil canLike, everything else // Nil canLike, everything else
@ -78,18 +79,18 @@ func (suite *InteractionTestSuite) TestInteractable() {
policy: &gtsmodel.InteractionPolicy{ policy: &gtsmodel.InteractionPolicy{
CanLike: nil, CanLike: nil,
CanReply: &gtsmodel.PolicyRules{ CanReply: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
}, },
CanAnnounce: &gtsmodel.PolicyRules{ CanAnnounce: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
}, },
}, },
account: suite.testAccounts["admin_account"], account: suite.testAccounts["admin_account"],
likeable: gtsmodel.PolicyPermissionAutomaticApproval, likeable: gtsmodel.PolicyPermissionPermitted,
replyable: gtsmodel.PolicyPermissionForbidden, replyable: gtsmodel.PolicyPermissionForbidden,
boostable: gtsmodel.PolicyPermissionForbidden, boostable: gtsmodel.PolicyPermissionForbidden,
}, },
@ -98,60 +99,60 @@ func (suite *InteractionTestSuite) TestInteractable() {
// account checking, so all should be fine. // account checking, so all should be fine.
policy: &gtsmodel.InteractionPolicy{ policy: &gtsmodel.InteractionPolicy{
CanLike: &gtsmodel.PolicyRules{ CanLike: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
}, },
CanReply: &gtsmodel.PolicyRules{ CanReply: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
}, },
CanAnnounce: &gtsmodel.PolicyRules{ CanAnnounce: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
}, },
}, },
account: suite.testAccounts["local_account_1"], account: suite.testAccounts["local_account_1"],
likeable: gtsmodel.PolicyPermissionAutomaticApproval, likeable: gtsmodel.PolicyPermissionPermitted,
replyable: gtsmodel.PolicyPermissionAutomaticApproval, replyable: gtsmodel.PolicyPermissionPermitted,
boostable: gtsmodel.PolicyPermissionAutomaticApproval, boostable: gtsmodel.PolicyPermissionPermitted,
}, },
{ {
// Followers can like automatically, // Followers can like automatically,
// everything else requires manual approval. // everything else requires manual approval.
policy: &gtsmodel.InteractionPolicy{ policy: &gtsmodel.InteractionPolicy{
CanLike: &gtsmodel.PolicyRules{ CanLike: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
gtsmodel.PolicyValueFollowers, gtsmodel.PolicyValueFollowers,
}, },
ManualApproval: gtsmodel.PolicyValues{ WithApproval: gtsmodel.PolicyValues{
gtsmodel.PolicyValuePublic, gtsmodel.PolicyValuePublic,
}, },
}, },
CanReply: &gtsmodel.PolicyRules{ CanReply: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
ManualApproval: gtsmodel.PolicyValues{ WithApproval: gtsmodel.PolicyValues{
gtsmodel.PolicyValuePublic, gtsmodel.PolicyValuePublic,
}, },
}, },
CanAnnounce: &gtsmodel.PolicyRules{ CanAnnounce: &gtsmodel.PolicyRules{
AutomaticApproval: gtsmodel.PolicyValues{ Always: gtsmodel.PolicyValues{
gtsmodel.PolicyValueAuthor, gtsmodel.PolicyValueAuthor,
}, },
ManualApproval: gtsmodel.PolicyValues{ WithApproval: gtsmodel.PolicyValues{
gtsmodel.PolicyValuePublic, gtsmodel.PolicyValuePublic,
}, },
}, },
}, },
account: suite.testAccounts["admin_account"], account: suite.testAccounts["admin_account"],
likeable: gtsmodel.PolicyPermissionAutomaticApproval, likeable: gtsmodel.PolicyPermissionPermitted,
replyable: gtsmodel.PolicyPermissionManualApproval, replyable: gtsmodel.PolicyPermissionWithApproval,
boostable: gtsmodel.PolicyPermissionManualApproval, boostable: gtsmodel.PolicyPermissionWithApproval,
}, },
} { } {
// Copy model status. // Copy model status.