|
|
|
@ -893,6 +893,49 @@ RSpec.describe ActivityPub::Activity::Create do
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when object URI uses bearcaps' do
|
|
|
|
|
subject { described_class.new(json, sender) }
|
|
|
|
|
|
|
|
|
|
let(:token) { 'foo' }
|
|
|
|
|
|
|
|
|
|
let(:json) do
|
|
|
|
|
{
|
|
|
|
|
'@context': 'https://www.w3.org/ns/activitystreams',
|
|
|
|
|
id: [ActivityPub::TagManager.instance.uri_for(sender), '#foo'].join,
|
|
|
|
|
type: 'Create',
|
|
|
|
|
actor: ActivityPub::TagManager.instance.uri_for(sender),
|
|
|
|
|
object: Addressable::URI.new(scheme: 'bear', query_values: { t: token, u: object_json[:id] }).to_s,
|
|
|
|
|
}.with_indifferent_access
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
let(:object_json) do
|
|
|
|
|
{
|
|
|
|
|
id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
|
|
|
|
|
type: 'Note',
|
|
|
|
|
content: 'Lorem ipsum',
|
|
|
|
|
to: 'https://www.w3.org/ns/activitystreams#Public',
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
before do
|
|
|
|
|
stub_request(:get, object_json[:id])
|
|
|
|
|
.with(headers: { Authorization: "Bearer #{token}" })
|
|
|
|
|
.to_return(body: Oj.dump(object_json), headers: { 'Content-Type': 'application/activity+json' })
|
|
|
|
|
|
|
|
|
|
subject.perform
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'creates status' do
|
|
|
|
|
status = sender.statuses.first
|
|
|
|
|
|
|
|
|
|
expect(status).to_not be_nil
|
|
|
|
|
expect(status).to have_attributes(
|
|
|
|
|
visibility: 'public',
|
|
|
|
|
text: 'Lorem ipsum'
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with an encrypted message' do
|
|
|
|
|
subject { described_class.new(json, sender, delivery: true, delivered_to_account_id: recipient.id) }
|
|
|
|
|
|
|
|
|
|