Ignore error if mentioned account was not processable (#29215)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
f91f077985
commit
66b2bc1c84
4 changed files with 122 additions and 0 deletions
|
@ -63,6 +63,24 @@ RSpec.describe ActivityPub::Activity::Create do
|
|||
}
|
||||
end
|
||||
|
||||
let(:invalid_mention_json) do
|
||||
{
|
||||
id: [ActivityPub::TagManager.instance.uri_for(sender), 'post2'].join('/'),
|
||||
type: 'Note',
|
||||
to: [
|
||||
'https://www.w3.org/ns/activitystreams#Public',
|
||||
ActivityPub::TagManager.instance.uri_for(follower),
|
||||
],
|
||||
content: '@bob lorem ipsum',
|
||||
published: 1.hour.ago.utc.iso8601,
|
||||
updated: 1.hour.ago.utc.iso8601,
|
||||
tag: {
|
||||
type: 'Mention',
|
||||
href: 'http://notexisting.dontexistingtld/actor',
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
def activity_for_object(json)
|
||||
{
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
|
@ -117,6 +135,25 @@ RSpec.describe ActivityPub::Activity::Create do
|
|||
# Creates two notifications
|
||||
expect(Notification.count).to eq 2
|
||||
end
|
||||
|
||||
it 'ignores unprocessable mention', :aggregate_failures do
|
||||
stub_request(:get, invalid_mention_json[:tag][:href]).to_raise(HTTP::ConnectionError)
|
||||
# When receiving the post that contains an invalid mention…
|
||||
described_class.new(activity_for_object(invalid_mention_json), sender, delivery: true).perform
|
||||
|
||||
# NOTE: Refering explicitly to the workers is a bit awkward
|
||||
DistributionWorker.drain
|
||||
FeedInsertWorker.drain
|
||||
|
||||
# …it creates a status
|
||||
status = Status.find_by(uri: invalid_mention_json[:id])
|
||||
|
||||
# Check the process did not crash
|
||||
expect(status.nil?).to be false
|
||||
|
||||
# It has queued a mention resolve job
|
||||
expect(MentionResolveWorker).to have_enqueued_sidekiq_job(status.id, invalid_mention_json[:tag][:href], anything)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#perform' do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue