From 5265df0a8a9d66a88cbb45bff5e9316a357e934a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 3 Feb 2020 17:48:23 +0100 Subject: Change signature verification to ignore signatures with invalid host (#13033) Instead of returning a signature verification error, pretend there was no signature (i.e., this does not allow access to resources that need a valid signature), so public resources can still be fetched Fix #13011 --- .../concerns/signature_verification_spec.rb | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'spec/controllers') diff --git a/spec/controllers/concerns/signature_verification_spec.rb b/spec/controllers/concerns/signature_verification_spec.rb index 1fa19f54d..05fb1445b 100644 --- a/spec/controllers/concerns/signature_verification_spec.rb +++ b/spec/controllers/concerns/signature_verification_spec.rb @@ -97,6 +97,33 @@ describe ApplicationController, type: :controller do end end + context 'with inaccessible key' do + before do + get :success + + author = Fabricate(:account, domain: 'localhost:5000', uri: 'http://localhost:5000/actor') + fake_request = Request.new(:get, request.url) + fake_request.on_behalf_of(author) + author.destroy + + request.headers.merge!(fake_request.headers) + + stub_request(:get, 'http://localhost:5000/actor#main-key').to_raise(Mastodon::HostValidationError) + end + + describe '#signed_request?' do + it 'returns true' do + expect(controller.signed_request?).to be true + end + end + + describe '#signed_request_account' do + it 'returns nil' do + expect(controller.signed_request_account).to be_nil + end + end + end + context 'with body' do before do post :success, body: 'Hello world' -- cgit From 0cbd6d696b8937066cde297ad2eae4b558353b7c Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Mon, 10 Feb 2020 19:13:12 +0100 Subject: Add test for health_check endpoint --- spec/controllers/health_check_controller_spec.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 spec/controllers/health_check_controller_spec.rb (limited to 'spec/controllers') diff --git a/spec/controllers/health_check_controller_spec.rb b/spec/controllers/health_check_controller_spec.rb new file mode 100644 index 000000000..c00600c9b --- /dev/null +++ b/spec/controllers/health_check_controller_spec.rb @@ -0,0 +1,13 @@ +require 'rails_helper' + +describe HealthCheck::HealthCheckController do + render_views + + describe 'GET #show' do + subject(:response) { get :index, params: { format: :json } } + + it 'returns the right response' do + expect(response).to have_http_status 200 + end + end +end -- cgit