MS IZ added a check for person in webfinger response in receive_salmon method
This commit is contained in:
parent
a6d1906696
commit
34f190ce75
3 changed files with 33 additions and 32 deletions
40
Gemfile.lock
40
Gemfile.lock
|
|
@ -55,15 +55,6 @@ GIT
|
||||||
carrierwave (0.5.0)
|
carrierwave (0.5.0)
|
||||||
activesupport (~> 3.0)
|
activesupport (~> 3.0)
|
||||||
|
|
||||||
GIT
|
|
||||||
remote: git://github.com/rsofaer/redfinger.git
|
|
||||||
revision: 07721f46d02b9d3aa04880788fecb0b4c1b284d7
|
|
||||||
specs:
|
|
||||||
redfinger (0.0.6)
|
|
||||||
hashie
|
|
||||||
nokogiri (>= 1.4.0)
|
|
||||||
rest-client (>= 1.5.0)
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/rsofaer/sprinkle.git
|
remote: git://github.com/rsofaer/sprinkle.git
|
||||||
revision: 7c744ed158dda1f99a015e6a29d086e80bd8c635
|
revision: 7c744ed158dda1f99a015e6a29d086e80bd8c635
|
||||||
|
|
@ -115,6 +106,7 @@ GEM
|
||||||
activesupport (= 3.0.1)
|
activesupport (= 3.0.1)
|
||||||
activesupport (3.0.1)
|
activesupport (3.0.1)
|
||||||
addressable (2.2.2)
|
addressable (2.2.2)
|
||||||
|
archive-tar-minitar (0.5.2)
|
||||||
arel (1.0.1)
|
arel (1.0.1)
|
||||||
activesupport (~> 3.0.0)
|
activesupport (~> 3.0.0)
|
||||||
aws (2.3.24)
|
aws (2.3.24)
|
||||||
|
|
@ -140,7 +132,6 @@ GEM
|
||||||
rack (>= 1.0.0)
|
rack (>= 1.0.0)
|
||||||
rack-test (>= 0.5.4)
|
rack-test (>= 0.5.4)
|
||||||
selenium-webdriver (>= 0.0.3)
|
selenium-webdriver (>= 0.0.3)
|
||||||
cgi_multipart_eof_fix (2.5.0)
|
|
||||||
chef (0.9.12)
|
chef (0.9.12)
|
||||||
bunny (>= 0.6.0)
|
bunny (>= 0.6.0)
|
||||||
erubis
|
erubis
|
||||||
|
|
@ -192,10 +183,8 @@ GEM
|
||||||
addressable (~> 2.2.2)
|
addressable (~> 2.2.2)
|
||||||
multipart-post (~> 1.0.1)
|
multipart-post (~> 1.0.1)
|
||||||
rack (>= 1.1.0, < 2)
|
rack (>= 1.1.0, < 2)
|
||||||
fastthread (1.0.7)
|
|
||||||
ffi (0.6.3)
|
ffi (0.6.3)
|
||||||
rake (>= 0.8.7)
|
rake (>= 0.8.7)
|
||||||
gem_plugin (0.2.3)
|
|
||||||
gherkin (2.2.9)
|
gherkin (2.2.9)
|
||||||
json (~> 1.4.6)
|
json (~> 1.4.6)
|
||||||
term-ansicolor (~> 1.0.5)
|
term-ansicolor (~> 1.0.5)
|
||||||
|
|
@ -211,7 +200,8 @@ GEM
|
||||||
launchy (0.3.7)
|
launchy (0.3.7)
|
||||||
configuration (>= 0.0.5)
|
configuration (>= 0.0.5)
|
||||||
rake (>= 0.8.1)
|
rake (>= 0.8.1)
|
||||||
linecache (0.43)
|
linecache19 (0.5.11)
|
||||||
|
ruby_core_source (>= 0.1.4)
|
||||||
mail (2.2.9)
|
mail (2.2.9)
|
||||||
activesupport (>= 2.3.6)
|
activesupport (>= 2.3.6)
|
||||||
i18n (~> 0.4.1)
|
i18n (~> 0.4.1)
|
||||||
|
|
@ -233,11 +223,6 @@ GEM
|
||||||
moneta (0.6.0)
|
moneta (0.6.0)
|
||||||
mongo (1.1)
|
mongo (1.1)
|
||||||
bson (>= 1.0.5)
|
bson (>= 1.0.5)
|
||||||
mongrel (1.1.5)
|
|
||||||
cgi_multipart_eof_fix (>= 2.4)
|
|
||||||
daemons (>= 1.0.3)
|
|
||||||
fastthread (>= 1.0.1)
|
|
||||||
gem_plugin (>= 0.2.3)
|
|
||||||
multi_json (0.0.4)
|
multi_json (0.0.4)
|
||||||
multipart-post (1.0.1)
|
multipart-post (1.0.1)
|
||||||
net-ldap (0.1.1)
|
net-ldap (0.1.1)
|
||||||
|
|
@ -332,14 +317,19 @@ GEM
|
||||||
rspec-expectations (~> 2.0.1)
|
rspec-expectations (~> 2.0.1)
|
||||||
rspec-rails (2.0.1)
|
rspec-rails (2.0.1)
|
||||||
rspec (~> 2.0.0)
|
rspec (~> 2.0.0)
|
||||||
ruby-debug (0.10.3)
|
ruby-debug-base19 (0.11.24)
|
||||||
columnize (>= 0.1)
|
columnize (>= 0.3.1)
|
||||||
ruby-debug-base (~> 0.10.3.0)
|
linecache19 (>= 0.5.11)
|
||||||
ruby-debug-base (0.10.3)
|
ruby_core_source (>= 0.1.4)
|
||||||
linecache (>= 0.3)
|
ruby-debug19 (0.11.6)
|
||||||
|
columnize (>= 0.3.1)
|
||||||
|
linecache19 (>= 0.5.11)
|
||||||
|
ruby-debug-base19 (>= 0.11.19)
|
||||||
ruby-openid (2.1.8)
|
ruby-openid (2.1.8)
|
||||||
ruby-openid-apps-discovery (1.2.0)
|
ruby-openid-apps-discovery (1.2.0)
|
||||||
ruby-openid (>= 2.1.7)
|
ruby-openid (>= 2.1.7)
|
||||||
|
ruby_core_source (0.1.4)
|
||||||
|
archive-tar-minitar (>= 0.5.2)
|
||||||
rubyntlm (0.1.1)
|
rubyntlm (0.1.1)
|
||||||
rubyzip (0.9.4)
|
rubyzip (0.9.4)
|
||||||
selenium-client (1.2.18)
|
selenium-client (1.2.18)
|
||||||
|
|
@ -405,15 +395,13 @@ DEPENDENCIES
|
||||||
mini_magick
|
mini_magick
|
||||||
mocha
|
mocha
|
||||||
mongo_mapper!
|
mongo_mapper!
|
||||||
mongrel
|
|
||||||
omniauth
|
omniauth
|
||||||
pubsubhubbub
|
pubsubhubbub
|
||||||
rails (>= 3.0.0)
|
rails (>= 3.0.0)
|
||||||
redfinger!
|
|
||||||
roxml!
|
roxml!
|
||||||
rspec (>= 2.0.0)
|
rspec (>= 2.0.0)
|
||||||
rspec-rails (>= 2.0.0)
|
rspec-rails (>= 2.0.0)
|
||||||
ruby-debug
|
ruby-debug19
|
||||||
sprinkle!
|
sprinkle!
|
||||||
thin
|
thin
|
||||||
twitter
|
twitter
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,16 @@ module Diaspora
|
||||||
salmon = Salmon::SalmonSlap.parse salmon_xml, self
|
salmon = Salmon::SalmonSlap.parse salmon_xml, self
|
||||||
webfinger = EMWebfinger.new(salmon.author_email)
|
webfinger = EMWebfinger.new(salmon.author_email)
|
||||||
|
|
||||||
webfinger.on_person { |salmon_author|
|
webfinger.on_person { |response|
|
||||||
|
if response.is_a? Person
|
||||||
|
salmon_author = response
|
||||||
if salmon.verified_for_key?(salmon_author.public_key)
|
if salmon.verified_for_key?(salmon_author.public_key)
|
||||||
Rails.logger.info("data in salmon: #{salmon.parsed_data}")
|
Rails.logger.info("data in salmon: #{salmon.parsed_data}")
|
||||||
self.receive(salmon.parsed_data, salmon_author)
|
self.receive(salmon.parsed_data, salmon_author)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
Rails.logger.info("#{salmon.author_email} not found error: #{response}")
|
||||||
|
end
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ describe User do
|
||||||
|
|
||||||
let(:user3) { make_user }
|
let(:user3) { make_user }
|
||||||
let(:aspect3) { user3.aspects.create(:name => 'heroes') }
|
let(:aspect3) { user3.aspects.create(:name => 'heroes') }
|
||||||
|
let(:status) {user.post(:status_message, :message => "Original", :to => aspect.id)}
|
||||||
|
let(:album) {user.post(:album, :name => "Original", :to => aspect.id)}
|
||||||
|
|
||||||
before do
|
before do
|
||||||
friend_users(user, aspect, user2, aspect2)
|
friend_users(user, aspect, user2, aspect2)
|
||||||
|
|
@ -49,9 +51,15 @@ describe User do
|
||||||
user.aspects.size.should == num_aspects
|
user.aspects.size.should == num_aspects
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#receive_salmon' do
|
||||||
|
it 'should handle the case where the webfinger fails' do
|
||||||
|
Person.should_receive(:by_account_identifier).and_return("not a person")
|
||||||
|
|
||||||
|
proc{user2.receive_salmon(user.salmon(status).xml_for(user2.person))}.should_not raise_error
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'update posts' do
|
context 'update posts' do
|
||||||
let(:status) {user.post(:status_message, :message => "Original", :to => aspect.id)}
|
|
||||||
let(:album) {user.post(:album, :name => "Original", :to => aspect.id)}
|
|
||||||
|
|
||||||
it 'does not update posts not marked as mutable' do
|
it 'does not update posts not marked as mutable' do
|
||||||
user2.receive_salmon(user.salmon(status).xml_for(user2.person))
|
user2.receive_salmon(user.salmon(status).xml_for(user2.person))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue