diff options
Diffstat (limited to 'spec/controllers/jira_connect/events_controller_spec.rb')
-rw-r--r-- | spec/controllers/jira_connect/events_controller_spec.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/controllers/jira_connect/events_controller_spec.rb b/spec/controllers/jira_connect/events_controller_spec.rb index 80375a02b33..7da9eb7ac16 100644 --- a/spec/controllers/jira_connect/events_controller_spec.rb +++ b/spec/controllers/jira_connect/events_controller_spec.rb @@ -101,6 +101,14 @@ RSpec.describe JiraConnect::EventsController do expect(response).to have_gitlab_http_status(:ok) end + it 'uses the JiraConnectInstallations::UpdateService' do + expect_next_instance_of(JiraConnectInstallations::UpdateService, installation, anything) do |update_service| + expect(update_service).to receive(:execute).and_call_original + end + + subject + end + context 'when parameters include a new shared secret and base_url' do let(:shared_secret) { 'new_secret' } let(:base_url) { 'https://new_test.atlassian.net' } @@ -125,6 +133,36 @@ RSpec.describe JiraConnect::EventsController do end end end + + shared_examples 'generates JWT validation claims' do + specify do + expect_next_instance_of(Atlassian::JiraConnect::Jwt::Asymmetric, anything, expected_claims) do |asymmetric_jwt| + allow(asymmetric_jwt).to receive(:valid?).and_return(true) + end + + subject + end + end + + context 'when enforce_jira_base_url_https' do + before do + allow(Gitlab.config.jira_connect).to receive(:enforce_jira_base_url_https).and_return(true) + end + + let(:expected_claims) { { aud: "https://test.host/-/jira_connect", iss: anything, qsh: anything } } + + it_behaves_like 'generates JWT validation claims' + end + + context 'when not enforce_jira_base_url_https' do + before do + allow(Gitlab.config.jira_connect).to receive(:enforce_jira_base_url_https).and_return(false) + end + + let(:expected_claims) { { aud: "http://test.host/-/jira_connect", iss: anything, qsh: anything } } + + it_behaves_like 'generates JWT validation claims' + end end describe '#uninstalled' do |