From e08306dab4ba29a36907fd52d1af8ea0672aae0d Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Tue, 21 Jun 2016 01:35:02 +0200 Subject: [PATCH] remove participation parent author check the check that the participation parent author is local is now done in the diaspora_federation gem --- app/workers/receive_base.rb | 1 + lib/diaspora/federation/receive.rb | 8 +++++--- spec/lib/diaspora/federation/receive_spec.rb | 13 ------------- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/app/workers/receive_base.rb b/app/workers/receive_base.rb index e2ccc8690..f204fd3b6 100644 --- a/app/workers/receive_base.rb +++ b/app/workers/receive_base.rb @@ -12,6 +12,7 @@ module Workers DiasporaFederation::Entity::InvalidEntityName, DiasporaFederation::Entity::UnknownEntity, DiasporaFederation::Entities::Relayable::SignatureVerificationFailed, + DiasporaFederation::Entities::Participation::ParentNotLocal, DiasporaFederation::Federation::Receiver::InvalidSender, DiasporaFederation::Federation::Receiver::NotPublic, DiasporaFederation::Salmon::SenderKeyNotFound, diff --git a/lib/diaspora/federation/receive.rb b/lib/diaspora/federation/receive.rb index b744ef360..3aee007c0 100644 --- a/lib/diaspora/federation/receive.rb +++ b/lib/diaspora/federation/receive.rb @@ -65,9 +65,11 @@ module Diaspora def self.participation(entity) author = author_of(entity) ignore_existing_guid(Participation, entity.guid, author) do - parent = Mappings.model_class_for(entity.parent_type).find_by(guid: entity.parent_guid) - - Participation.create!(author: author, guid: entity.guid, target: parent) if parent.author.local? + Participation.create!( + author: author, + guid: entity.guid, + target: Mappings.model_class_for(entity.parent_type).find_by(guid: entity.parent_guid) + ) end end diff --git a/spec/lib/diaspora/federation/receive_spec.rb b/spec/lib/diaspora/federation/receive_spec.rb index 08a4d13b0..b9e01fe28 100644 --- a/spec/lib/diaspora/federation/receive_spec.rb +++ b/spec/lib/diaspora/federation/receive_spec.rb @@ -255,19 +255,6 @@ describe Diaspora::Federation::Receive do expect(participation.target).to eq(post) end - it "does not save the participation if the target is not local" do - remote_post = FactoryGirl.create(:status_message, author: sender, public: true) - remote_participation = FactoryGirl.build( - :participation_entity, - author: sender.diaspora_handle, - parent_guid: remote_post.guid - ) - - expect(Diaspora::Federation::Receive.perform(remote_participation)).to be_nil - - expect(Participation.exists?(guid: remote_participation.guid)).to be_falsey - end - it_behaves_like "it ignores existing object received twice", Participation do let(:entity) { participation_entity } end