mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[feature] Allow delivery to sharedInboxes where possible (#847)
* update Activity * add instance-deliver-to-shared-inboxes setting * update activity version again * add SharedInboxURI field to accounts * serdes for endpoints/sharedInbox * deliver to sharedInbox if one is available * update tests * only assign shared inbox if shared domain * look for shared inbox if currently nil * go fmt * finger to get params.RemoteAccountID if necessary * make comments clearer * compare dns more consistently
This commit is contained in:
@@ -63,6 +63,27 @@ func (suite *InboxTestSuite) TestInboxesForAccountIRI() {
|
||||
suite.Contains(asStrings, suite.testAccounts["local_account_1"].InboxURI)
|
||||
}
|
||||
|
||||
func (suite *InboxTestSuite) TestInboxesForAccountIRIWithSharedInbox() {
|
||||
ctx := context.Background()
|
||||
testAccount := suite.testAccounts["local_account_1"]
|
||||
sharedInbox := "http://some-inbox-iri/weeeeeeeeeeeee"
|
||||
testAccount.SharedInboxURI = &sharedInbox
|
||||
if _, err := suite.db.UpdateAccount(ctx, testAccount); err != nil {
|
||||
suite.FailNow("error updating account")
|
||||
}
|
||||
|
||||
inboxIRIs, err := suite.federatingDB.InboxesForIRI(ctx, testrig.URLMustParse(testAccount.URI))
|
||||
suite.NoError(err)
|
||||
|
||||
asStrings := []string{}
|
||||
for _, i := range inboxIRIs {
|
||||
asStrings = append(asStrings, i.String())
|
||||
}
|
||||
|
||||
suite.Len(asStrings, 1)
|
||||
suite.Contains(asStrings, "http://some-inbox-iri/weeeeeeeeeeeee")
|
||||
}
|
||||
|
||||
func TestInboxTestSuite(t *testing.T) {
|
||||
suite.Run(t, &InboxTestSuite{})
|
||||
}
|
||||
|
Reference in New Issue
Block a user