update federation gem
This commit is contained in:
parent
a7bb6170ab
commit
65b056341c
4 changed files with 23 additions and 16 deletions
2
Gemfile
2
Gemfile
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
13
Gemfile.lock
13
Gemfile.lock
|
|
@ -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
|
||||||
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
|
||||||
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|
|
||||||
# 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|
|
||||||
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,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue