@ -154,4 +154,48 @@ XML
expect ( created_statuses . first . reblog . account_id ) . to eq good_actor . id
expect ( created_statuses . first . reblog . text ) . to eq 'Overwatch rocks'
end
it 'ignores statuses with an out-of-order delete' do
sender = Fabricate ( :account , username : 'tracer' , domain : 'overwatch.com' )
delete_body = << XML
< ? xml version = " 1.0 " ?>
< entry xmlns = " http://www.w3.org/2005/Atom " xmlns : thr = " http://purl.org/syndication/thread/1.0 " xmlns : activity = " http://activitystrea.ms/spec/1.0/ " xmlns : poco = " http://portablecontacts.net/spec/1.0 " xmlns : media = " http://purl.org/syndication/atommedia " xmlns : ostatus = " http://ostatus.org/schema/1.0 " xmlns : mastodon = " http://mastodon.social/schema/1.0 " >
< id > tag : overwatch . com , 2017 - 04 - 27 :objectId = 4487555 :objectType = Status < / id>
< published > 2017 - 04 - 27 T13 : 49 : 25 Z < / published>
< updated > 2017 - 04 - 27 T13 : 49 : 25 Z < / updated>
< activity : object - type > http : / / activitystrea . ms / schema / 1 . 0 / note < / activity:object-type>
< activity : verb > http : / / activitystrea . ms / schema / 1 . 0 / delete < / activity:verb>
< author >
< id > https : / /o verwatch . com / users / tracer < / id>
< activity : object - type > http : / / activitystrea . ms / schema / 1 . 0 / person < / activity:object-type>
< uri > https : / /o verwatch . com / users / tracer < / uri>
< name > tracer < / name>
< / author>
< / entry>
XML
status_body = << XML
< ? xml version = " 1.0 " ?>
< entry xmlns = " http://www.w3.org/2005/Atom " xmlns : thr = " http://purl.org/syndication/thread/1.0 " xmlns : activity = " http://activitystrea.ms/spec/1.0/ " xmlns : poco = " http://portablecontacts.net/spec/1.0 " xmlns : media = " http://purl.org/syndication/atommedia " xmlns : ostatus = " http://ostatus.org/schema/1.0 " xmlns : mastodon = " http://mastodon.social/schema/1.0 " >
< id > tag : overwatch . com , 2017 - 04 - 27 :objectId = 4487555 :objectType = Status < / id>
< published > 2017 - 04 - 27 T13 : 49 : 25 Z < / published>
< updated > 2017 - 04 - 27 T13 : 49 : 25 Z < / updated>
< activity : object - type > http : / / activitystrea . ms / schema / 1 . 0 / note < / activity:object-type>
< activity : verb > http : / / activitystrea . ms / schema / 1 . 0 / post < / activity:verb>
< author >
< id > https : / /o verwatch . com / users / tracer < / id>
< activity : object - type > http : / / activitystrea . ms / schema / 1 . 0 / person < / activity:object-type>
< uri > https : / /o verwatch . com / users / tracer < / uri>
< name > tracer < / name>
< / author>
< content type = " html " > Overwatch rocks < / content>
< / entry>
XML
subject . call ( delete_body , sender )
created_statuses = subject . call ( status_body , sender )
expect ( created_statuses ) . to be_empty
end
end