summaryrefslogtreecommitdiff
path: root/internal/federation/federatingprotocol_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-09-12 11:43:12 +0200
committerLibravatar GitHub <noreply@github.com>2023-09-12 10:43:12 +0100
commit4b594516ec5fe6d849663d877db5a0614de03089 (patch)
treed822d87aaba9d2836294198d43bc59fc210b6167 /internal/federation/federatingprotocol_test.go
parent[feature] Support Actor URIs for webfinger queries (#2187) (diff)
downloadgotosocial-4b594516ec5fe6d849663d877db5a0614de03089.tar.xz
[feature] Allow admins to expire remote public keys; refetch expired keys on demand (#2183)
Diffstat (limited to 'internal/federation/federatingprotocol_test.go')
-rw-r--r--internal/federation/federatingprotocol_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/federation/federatingprotocol_test.go b/internal/federation/federatingprotocol_test.go
index 8da6859dd..7a8343048 100644
--- a/internal/federation/federatingprotocol_test.go
+++ b/internal/federation/federatingprotocol_test.go
@@ -257,6 +257,33 @@ func (suite *FederatingProtocolTestSuite) TestAuthenticatePostInbox() {
suite.Equal(http.StatusOK, code)
}
+func (suite *FederatingProtocolTestSuite) TestAuthenticatePostInboxKeyExpired() {
+ var (
+ ctx = context.Background()
+ activity = suite.testActivities["dm_for_zork"]
+ receivingAccount = suite.testAccounts["local_account_1"]
+ )
+
+ // Update remote account to mark key as expired.
+ remoteAcct := &gtsmodel.Account{}
+ *remoteAcct = *suite.testAccounts["remote_account_1"]
+ remoteAcct.PublicKeyExpiresAt = testrig.TimeMustParse("2022-06-10T15:22:08Z")
+ if err := suite.state.DB.UpdateAccount(ctx, remoteAcct, "public_key_expires_at"); err != nil {
+ suite.FailNow(err.Error())
+ }
+
+ ctx, authed, resp, code := suite.authenticatePostInbox(
+ ctx,
+ receivingAccount,
+ activity,
+ )
+
+ suite.NotNil(gtscontext.RequestingAccount(ctx))
+ suite.True(authed)
+ suite.Equal([]byte{}, resp)
+ suite.Equal(http.StatusOK, code)
+}
+
func (suite *FederatingProtocolTestSuite) TestAuthenticatePostGoneWithTombstone() {
var (
activity = suite.testActivities["delete_https://somewhere.mysterious/users/rest_in_piss#main-key"]