summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb
index cf21c98dbd5..cebc4c02d11 100644
--- a/spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb
+++ b/spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb
@@ -24,6 +24,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::Validate::External do
second_stage_job_name:
stage: second_stage
services:
+ -
- postgres
before_script:
- echo 'first hello'
@@ -142,6 +143,23 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::Validate::External do
perform!
end
+
+ it 'returns expected payload' do
+ expect(::Gitlab::HTTP).to receive(:post) do |_url, params|
+ payload = Gitlab::Json.parse(params[:body])
+
+ builds = payload['builds']
+ expect(builds.count).to eq(2)
+ expect(builds[0]['services']).to be_nil
+ expect(builds[0]['stage']).to eq('first_stage')
+ expect(builds[0]['image']).to eq('hello_world')
+ expect(builds[1]['services']).to eq(['postgres'])
+ expect(builds[1]['stage']).to eq('second_stage')
+ expect(builds[1]['image']).to be_nil
+ end
+
+ perform!
+ end
end
context 'when EXTERNAL_VALIDATION_SERVICE_TOKEN is set' do