From a94c152fd30cb91c1f4bd9c1e000ea68d0385bfa Mon Sep 17 00:00:00 2001 From: Immae Date: Mon, 22 May 2017 15:40:04 +0200 Subject: Allow alternate domains for mastodon handlers (#3187) --- .../well_known/webfinger_controller_spec.rb | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'spec') diff --git a/spec/controllers/well_known/webfinger_controller_spec.rb b/spec/controllers/well_known/webfinger_controller_spec.rb index 6e493b037..4d588bf4e 100644 --- a/spec/controllers/well_known/webfinger_controller_spec.rb +++ b/spec/controllers/well_known/webfinger_controller_spec.rb @@ -6,6 +6,12 @@ describe WellKnown::WebfingerController, type: :controller do describe 'GET #show' do let(:alice) { Fabricate(:account, username: 'alice') } + around(:each) do |example| + before = Rails.configuration.x.alternate_domains + example.run + Rails.configuration.x.alternate_domains = before + end + it 'returns http success when account can be found' do get :show, params: { resource: alice.to_webfinger_s }, format: :json @@ -17,5 +23,23 @@ describe WellKnown::WebfingerController, type: :controller do expect(response).to have_http_status(:not_found) end + + it 'returns http success when account can be found with alternate domains' do + Rails.configuration.x.alternate_domains = ["foo.org"] + username, domain = alice.to_webfinger_s.split("@") + + get :show, params: { resource: "#{username}@foo.org" }, format: :json + + expect(response).to have_http_status(:success) + end + + it 'returns http not found when account can not be found with alternate domains' do + Rails.configuration.x.alternate_domains = ["foo.org"] + username, domain = alice.to_webfinger_s.split("@") + + get :show, params: { resource: "#{username}@bar.org" }, format: :json + + expect(response).to have_http_status(:not_found) + end end end -- cgit