about summary refs log tree commit diff
path: root/spec/controllers/well_known/webfinger_controller_spec.rb
diff options
context:
space:
mode:
authorImmae <immae@users.noreply.github.com>2017-05-22 15:40:04 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-05-22 15:40:04 +0200
commita94c152fd30cb91c1f4bd9c1e000ea68d0385bfa (patch)
treee97eeb4a3bd504a675fbee0557eb91ab857359ce /spec/controllers/well_known/webfinger_controller_spec.rb
parent9d04de1c8d3efb745cfcae3519cee016751b86ec (diff)
Allow alternate domains for mastodon handlers (#3187)
Diffstat (limited to 'spec/controllers/well_known/webfinger_controller_spec.rb')
-rw-r--r--spec/controllers/well_known/webfinger_controller_spec.rb24
1 files changed, 24 insertions, 0 deletions
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