From 72b59d6e3ba1e19045071ada494cc8e7c71a32c9 Mon Sep 17 00:00:00 2001 From: Daniel Juarez Date: Tue, 5 Feb 2019 12:30:06 +0000 Subject: Fix comparing equality between `ActionController::Parameters` and a `Hash`.... --- app/controllers/concerns/service_params.rb | 2 +- changelogs/unreleased/fix_jira_integration_VCS1019.yml | 5 +++++ spec/controllers/projects/services_controller_spec.rb | 10 ++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/fix_jira_integration_VCS1019.yml diff --git a/app/controllers/concerns/service_params.rb b/app/controllers/concerns/service_params.rb index c6ae4fe15bf..48451bedcc2 100644 --- a/app/controllers/concerns/service_params.rb +++ b/app/controllers/concerns/service_params.rb @@ -72,7 +72,7 @@ module ServiceParams dynamic_params = @service.event_channel_names + @service.event_names # rubocop:disable Gitlab/ModuleWithInstanceVariables service_params = params.permit(:id, service: allowed_service_params + dynamic_params) - if service_params[:service].is_a?(Hash) + if service_params[:service].is_a?(ActionController::Parameters) FILTER_BLANK_PARAMS.each do |param| service_params[:service].delete(param) if service_params[:service][param].blank? end diff --git a/changelogs/unreleased/fix_jira_integration_VCS1019.yml b/changelogs/unreleased/fix_jira_integration_VCS1019.yml new file mode 100644 index 00000000000..3582ec1fe0f --- /dev/null +++ b/changelogs/unreleased/fix_jira_integration_VCS1019.yml @@ -0,0 +1,5 @@ +--- +title: Fix Jira Service password validation on project integration services. +merge_request: 24896 +author: Daniel Juarez +type: fixed diff --git a/spec/controllers/projects/services_controller_spec.rb b/spec/controllers/projects/services_controller_spec.rb index 4a5d2bdecb7..601a292bf54 100644 --- a/spec/controllers/projects/services_controller_spec.rb +++ b/spec/controllers/projects/services_controller_spec.rb @@ -152,6 +152,16 @@ describe Projects::ServicesController do expect(service.namespace).not_to eq('updated_namespace') end end + + context 'when activating JIRA service from a template' do + let(:template_service) { create(:jira_service, project: project, template: true) } + + it 'activate JIRA service from template' do + put :update, params: { namespace_id: project.namespace, project_id: project, id: service.to_param, service: { active: true } } + + expect(flash[:notice]).to eq 'JIRA activated.' + end + end end describe "GET #edit" do -- cgit v1.2.1