mirror of
https://github.com/mastodon/mastodon.git
synced 2025-01-24 19:11:44 +01:00
Fix LDSignature tests (#33705)
This commit is contained in:
parent
4b4de02fee
commit
7261951791
@ -13,10 +13,13 @@ RSpec.describe ActivityPub::LinkedDataSignature do
|
||||
{
|
||||
'@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => 'http://example.com/hello-world',
|
||||
'type' => 'Note',
|
||||
'content' => 'Hello world',
|
||||
}
|
||||
end
|
||||
|
||||
let(:json) { raw_json.merge('signature' => signature) }
|
||||
let(:signed_json) { raw_json.merge('signature' => signature) }
|
||||
let(:json) { signed_json }
|
||||
|
||||
describe '#verify_actor!' do
|
||||
context 'when signature matches' do
|
||||
@ -90,6 +93,54 @@ RSpec.describe ActivityPub::LinkedDataSignature do
|
||||
expect(subject.verify_actor!).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when an attribute has been removed from the document' do
|
||||
let(:signature) { raw_signature.merge('type' => 'RsaSignature2017', 'signatureValue' => sign(sender, raw_signature, raw_json)) }
|
||||
let(:json) { signed_json.without('content') }
|
||||
|
||||
let(:raw_signature) do
|
||||
{
|
||||
'creator' => 'http://example.com/alice',
|
||||
'created' => '2017-09-23T20:21:34Z',
|
||||
}
|
||||
end
|
||||
|
||||
it 'returns nil' do
|
||||
expect(subject.verify_actor!).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when an attribute has been added to the document' do
|
||||
let(:signature) { raw_signature.merge('type' => 'RsaSignature2017', 'signatureValue' => sign(sender, raw_signature, raw_json)) }
|
||||
let(:json) { signed_json.merge('attributedTo' => 'http://example.com/bob') }
|
||||
|
||||
let(:raw_signature) do
|
||||
{
|
||||
'creator' => 'http://example.com/alice',
|
||||
'created' => '2017-09-23T20:21:34Z',
|
||||
}
|
||||
end
|
||||
|
||||
it 'returns nil' do
|
||||
expect(subject.verify_actor!).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when an existing attribute has been changed' do
|
||||
let(:signature) { raw_signature.merge('type' => 'RsaSignature2017', 'signatureValue' => sign(sender, raw_signature, raw_json)) }
|
||||
let(:json) { signed_json.merge('content' => 'oops') }
|
||||
|
||||
let(:raw_signature) do
|
||||
{
|
||||
'creator' => 'http://example.com/alice',
|
||||
'created' => '2017-09-23T20:21:34Z',
|
||||
}
|
||||
end
|
||||
|
||||
it 'returns nil' do
|
||||
expect(subject.verify_actor!).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#sign!' do
|
||||
|
Loading…
x
Reference in New Issue
Block a user