diff options
author | 2024-03-04 12:30:12 +0000 | |
---|---|---|
committer | 2024-03-04 12:30:12 +0000 | |
commit | d85727e184a8398ce0ffa40dfd01207342889076 (patch) | |
tree | 5ee1860f93157bb2e4649fd86224f43eaa61dd7e /internal/federation/federatingactor_test.go | |
parent | [bugfix] Sanitize incoming PropertyValue fields (#2722) (diff) | |
download | gotosocial-d85727e184a8398ce0ffa40dfd01207342889076.tar.xz |
[bugfix] check remote status permissibility (#2703)
* add more stringent checks for remote status permissibility
* add check for inreplyto of a remote status being a boost
* do not permit inReplyTo boost wrapper statuses
* change comment wording
* fix calls to NewFederator()
* add code comments for NotPermitted() and SetNotPermitted()
* improve comment
* check that existing != nil before attempting delete
* ensure replying account isn't suspended
* use a debug log instead of info. check for boost using ID
* shorten log string length. make info level
* add note that replying to boost wrapper status shouldn't be able to happen anyways
* update to use onFail() function
Diffstat (limited to 'internal/federation/federatingactor_test.go')
-rw-r--r-- | internal/federation/federatingactor_test.go | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/internal/federation/federatingactor_test.go b/internal/federation/federatingactor_test.go index b6814862f..0c805a2c6 100644 --- a/internal/federation/federatingactor_test.go +++ b/internal/federation/federatingactor_test.go @@ -27,6 +27,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/federation" + "github.com/superseriousbusiness/gotosocial/internal/filter/visibility" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/superseriousbusiness/gotosocial/testrig" @@ -60,14 +61,21 @@ func (suite *FederatingActorTestSuite) TestSendNoRemoteFollowers() { tc := testrig.NewTestTransportController(&suite.state, httpClient) // setup module being tested - federator := federation.NewFederator(&suite.state, testrig.NewTestFederatingDB(&suite.state), tc, suite.typeconverter, testrig.NewTestMediaManager(&suite.state)) + federator := federation.NewFederator( + &suite.state, + testrig.NewTestFederatingDB(&suite.state), + tc, + suite.typeconverter, + visibility.NewFilter(&suite.state), + testrig.NewTestMediaManager(&suite.state), + ) activity, err := federator.FederatingActor().Send(ctx, testrig.URLMustParse(testAccount.OutboxURI), testActivity) suite.NoError(err) suite.NotNil(activity) // because zork has no remote followers, sent messages should be empty (no messages sent to own instance) - suite.Empty(httpClient.SentMessages) + suite.Empty(&httpClient.SentMessages) } func (suite *FederatingActorTestSuite) TestSendRemoteFollower() { @@ -105,8 +113,16 @@ func (suite *FederatingActorTestSuite) TestSendRemoteFollower() { httpClient := testrig.NewMockHTTPClient(nil, "../../testrig/media") tc := testrig.NewTestTransportController(&suite.state, httpClient) + // setup module being tested - federator := federation.NewFederator(&suite.state, testrig.NewTestFederatingDB(&suite.state), tc, suite.typeconverter, testrig.NewTestMediaManager(&suite.state)) + federator := federation.NewFederator( + &suite.state, + testrig.NewTestFederatingDB(&suite.state), + tc, + suite.typeconverter, + visibility.NewFilter(&suite.state), + testrig.NewTestMediaManager(&suite.state), + ) activity, err := federator.FederatingActor().Send(ctx, testrig.URLMustParse(testAccount.OutboxURI), testActivity) suite.NoError(err) |