diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-09-01 00:17:56 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-09-04 21:55:26 +0900 |
commit | d614c431055286eaab3b82e810186ac19a2c4fd7 (patch) | |
tree | 1cd600d5212471e79f295c310e736b2545fc6add | |
parent | cff104ec4b0dd2c53ed907ab7ca423b7c587dee8 (diff) | |
download | gitlab-ce-d614c431055286eaab3b82e810186ac19a2c4fd7.tar.gz |
Fix trigger_request.variables
-rw-r--r-- | lib/api/v3/triggers.rb | 6 | ||||
-rw-r--r-- | spec/models/ci/trigger_request_spec.rb | 4 | ||||
-rw-r--r-- | spec/requests/api/v3/triggers_spec.rb | 3 |
3 files changed, 6 insertions, 7 deletions
diff --git a/lib/api/v3/triggers.rb b/lib/api/v3/triggers.rb index 497ccbe20c6..13cfb9fe38b 100644 --- a/lib/api/v3/triggers.rb +++ b/lib/api/v3/triggers.rb @@ -32,15 +32,13 @@ module API render_api_error!(result[:message], result[:http_status]) else pipeline = result[:pipeline] - trigger_request = pipeline.trigger_request + trigger_request = Ci::TriggerRequest.find_by(commit_id: pipeline.id) # We switched to Ci::PipelineVariable from Ci::TriggerRequest.variables. # Ci::TriggerRequest doesn't save variables anymore. # Here is copying Ci::PipelineVariable to Ci::TriggerRequest.variables for presenting the variables. # The same endpoint in v4 API pressents Pipeline instead of TriggerRequest, so it doesn't need such a process. - pipeline.variables.each do |variable| - trigger_request.variables << { key: variable.key, value: variable.value } - end + trigger_request.variables = params[:variables] present trigger_request, with: ::API::V3::Entities::TriggerRequest end diff --git a/spec/models/ci/trigger_request_spec.rb b/spec/models/ci/trigger_request_spec.rb index 32d6f835c73..7dcf3528f73 100644 --- a/spec/models/ci/trigger_request_spec.rb +++ b/spec/models/ci/trigger_request_spec.rb @@ -5,13 +5,13 @@ describe Ci::TriggerRequest do it 'be invalid if saving a variable' do trigger = build(:ci_trigger_request, variables: { TRIGGER_KEY_1: 'TRIGGER_VALUE_1' } ) - expect(trigger.valid?).to be_falsey + expect(trigger).not_to be_valid end it 'be valid if not saving a variable' do trigger = build(:ci_trigger_request) - expect(trigger.valid?).to be_truthy + expect(trigger).to be_valid end end end diff --git a/spec/requests/api/v3/triggers_spec.rb b/spec/requests/api/v3/triggers_spec.rb index aca912dd427..7ccf387f2dc 100644 --- a/spec/requests/api/v3/triggers_spec.rb +++ b/spec/requests/api/v3/triggers_spec.rb @@ -80,7 +80,8 @@ describe API::V3::Triggers do post v3_api("/projects/#{project.id}/trigger/builds"), options.merge(variables: variables, ref: 'master') expect(response).to have_http_status(201) pipeline.builds.reload - expect(pipeline.builds.first.trigger_request.variables).to eq(variables) + expect(pipeline.variables.map { |v| { v.key => v.value } }.first).to eq(variables) + expect(json_response['variables']).to eq(variables) end end end |