Skip to content
Extraits de code Groupes Projets
Valider 65b05634 rédigé par Benjamin Neff's avatar Benjamin Neff Validation de Jonne Haß
Parcourir les fichiers

update federation gem

parent a7bb6170
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -12,7 +12,7 @@ gem "unicorn", "4.9.0", require: false ...@@ -12,7 +12,7 @@ gem "unicorn", "4.9.0", require: false
# Federation # Federation
gem "diaspora_federation-rails", "0.0.3" gem "diaspora_federation-rails", "0.0.6"
# API and JSON # API and JSON
......
...@@ -152,10 +152,14 @@ GEM ...@@ -152,10 +152,14 @@ GEM
eventmachine (>= 1.0.5, < 1.1) eventmachine (>= 1.0.5, < 1.1)
http_parser.rb (~> 0.6) http_parser.rb (~> 0.6)
nokogiri (~> 1.6) nokogiri (~> 1.6)
diaspora_federation (0.0.3) diaspora_federation (0.0.6)
faraday (~> 0.9.0)
faraday_middleware (~> 0.10.0)
nokogiri (~> 1.6, >= 1.6.6) nokogiri (~> 1.6, >= 1.6.6)
diaspora_federation-rails (0.0.3) typhoeus (~> 0.7.0)
diaspora_federation (= 0.0.3) valid (~> 1.0.0)
diaspora_federation-rails (0.0.6)
diaspora_federation (= 0.0.6)
rails (~> 4.2) rails (~> 4.2)
diff-lcs (1.2.5) diff-lcs (1.2.5)
docile (1.1.5) docile (1.1.5)
...@@ -731,6 +735,7 @@ GEM ...@@ -731,6 +735,7 @@ GEM
raindrops (~> 0.7) raindrops (~> 0.7)
uuid (2.3.8) uuid (2.3.8)
macaddr (~> 1.0) macaddr (~> 1.0)
valid (1.0.0)
warden (1.2.3) warden (1.2.3)
rack (>= 1.0) rack (>= 1.0)
webmock (1.21.0) webmock (1.21.0)
...@@ -764,7 +769,7 @@ DEPENDENCIES ...@@ -764,7 +769,7 @@ DEPENDENCIES
devise-token_authenticatable (~> 0.4.0) devise-token_authenticatable (~> 0.4.0)
devise_lastseenable (= 0.0.6) devise_lastseenable (= 0.0.6)
diaspora-vines (~> 0.1.28) diaspora-vines (~> 0.1.28)
diaspora_federation-rails (= 0.0.3) diaspora_federation-rails (= 0.0.6)
entypo-rails (= 2.2.3) entypo-rails (= 2.2.3)
eye (= 0.7.pre) eye (= 0.7.pre)
facebox-rails (= 0.2.0) facebox-rails (= 0.2.0)
......
...@@ -3,11 +3,13 @@ DiasporaFederation.configure do |config| ...@@ -3,11 +3,13 @@ DiasporaFederation.configure do |config|
# the pod url # the pod url
config.server_uri = AppConfig.pod_uri config.server_uri = AppConfig.pod_uri
config.certificate_authorities = AppConfig.environment.certificate_authorities.get
config.define_callbacks do config.define_callbacks do
on :person_webfinger_fetch do |handle| on :fetch_person_for_webfinger do |handle|
person = Person.find_local_by_diaspora_handle(handle) person = Person.find_local_by_diaspora_handle(handle)
if person if person
DiasporaFederation::WebFinger::WebFinger.new( DiasporaFederation::Discovery::WebFinger.new(
acct_uri: "acct:#{person.diaspora_handle}", acct_uri: "acct:#{person.diaspora_handle}",
alias_url: AppConfig.url_to("/people/#{person.guid}"), alias_url: AppConfig.url_to("/people/#{person.guid}"),
hcard_url: AppConfig.url_to(DiasporaFederation::Engine.routes.url_helpers.hcard_path(person.guid)), hcard_url: AppConfig.url_to(DiasporaFederation::Engine.routes.url_helpers.hcard_path(person.guid)),
...@@ -21,10 +23,10 @@ DiasporaFederation.configure do |config| ...@@ -21,10 +23,10 @@ DiasporaFederation.configure do |config|
end end
end end
on :person_hcard_fetch do |guid| on :fetch_person_for_hcard do |guid|
person = Person.find_local_by_guid(guid) person = Person.find_local_by_guid(guid)
if person if person
DiasporaFederation::WebFinger::HCard.new( DiasporaFederation::Discovery::HCard.new(
guid: person.guid, guid: person.guid,
nickname: person.username, nickname: person.username,
full_name: "#{person.profile.first_name} #{person.profile.last_name}".strip, full_name: "#{person.profile.first_name} #{person.profile.last_name}".strip,
......
require "spec_helper" require "spec_helper"
describe "diaspora federation callbacks" do describe "diaspora federation callbacks" do
describe ":person_webfinger_fetch" do describe ":fetch_person_for_webfinger" do
it "returns a WebFinger instance with the data from the person" do it "returns a WebFinger instance with the data from the person" do
person = alice.person person = alice.person
wf = DiasporaFederation.callbacks.trigger(:person_webfinger_fetch, alice.diaspora_handle) wf = DiasporaFederation.callbacks.trigger(:fetch_person_for_webfinger, alice.diaspora_handle)
expect(wf.acct_uri).to eq("acct:#{person.diaspora_handle}") expect(wf.acct_uri).to eq("acct:#{person.diaspora_handle}")
expect(wf.alias_url).to eq(AppConfig.url_to("/people/#{person.guid}")) expect(wf.alias_url).to eq(AppConfig.url_to("/people/#{person.guid}"))
expect(wf.hcard_url).to eq(AppConfig.url_to("/hcard/users/#{person.guid}")) expect(wf.hcard_url).to eq(AppConfig.url_to("/hcard/users/#{person.guid}"))
...@@ -17,15 +17,15 @@ describe "diaspora federation callbacks" do ...@@ -17,15 +17,15 @@ describe "diaspora federation callbacks" do
end end
it "returns nil if the person was not found" do it "returns nil if the person was not found" do
wf = DiasporaFederation.callbacks.trigger(:person_webfinger_fetch, "unknown@example.com") wf = DiasporaFederation.callbacks.trigger(:fetch_person_for_webfinger, "unknown@example.com")
expect(wf).to be_nil expect(wf).to be_nil
end end
end end
describe ":person_hcard_fetch" do describe ":fetch_person_for_hcard" do
it "returns a HCard instance with the data from the person" do it "returns a HCard instance with the data from the person" do
person = alice.person person = alice.person
hcard = DiasporaFederation.callbacks.trigger(:person_hcard_fetch, alice.guid) hcard = DiasporaFederation.callbacks.trigger(:fetch_person_for_hcard, alice.guid)
expect(hcard.guid).to eq(person.guid) expect(hcard.guid).to eq(person.guid)
expect(hcard.nickname).to eq(person.username) expect(hcard.nickname).to eq(person.username)
expect(hcard.full_name).to eq("#{person.profile.first_name} #{person.profile.last_name}") expect(hcard.full_name).to eq("#{person.profile.first_name} #{person.profile.last_name}")
...@@ -44,12 +44,12 @@ describe "diaspora federation callbacks" do ...@@ -44,12 +44,12 @@ describe "diaspora federation callbacks" do
user.person.profile.last_name = nil user.person.profile.last_name = nil
user.person.profile.save user.person.profile.save
hcard = DiasporaFederation.callbacks.trigger(:person_hcard_fetch, user.guid) hcard = DiasporaFederation.callbacks.trigger(:fetch_person_for_hcard, user.guid)
expect(hcard.full_name).to eq(user.person.profile.first_name) expect(hcard.full_name).to eq(user.person.profile.first_name)
end end
it "returns nil if the person was not found" do it "returns nil if the person was not found" do
hcard = DiasporaFederation.callbacks.trigger(:person_hcard_fetch, "1234567890abcdef") hcard = DiasporaFederation.callbacks.trigger(:fetch_person_for_hcard, "1234567890abcdef")
expect(hcard).to be_nil expect(hcard).to be_nil
end end
end end
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter