summaryrefslogtreecommitdiff
path: root/spec/services/create_deployment_service_spec.rb
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-09-14 22:32:11 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-09-19 10:07:13 +0200
commite1b3ab5af290f6d2eeb56c4b72e341324414a6d2 (patch)
treec5d5bb4e3d167ee8f82ab6bd1ba4955cc77a2d11 /spec/services/create_deployment_service_spec.rb
parent2cc9a785dfdada5e2976b8341d3c9e6eae8fa66f (diff)
downloadgitlab-ce-e1b3ab5af290f6d2eeb56c4b72e341324414a6d2.tar.gz
Verify expandability of variables defined as part of environment
Diffstat (limited to 'spec/services/create_deployment_service_spec.rb')
-rw-r--r--spec/services/create_deployment_service_spec.rb32
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/services/create_deployment_service_spec.rb b/spec/services/create_deployment_service_spec.rb
index 8da2a2b3c1b..c8c741c0e88 100644
--- a/spec/services/create_deployment_service_spec.rb
+++ b/spec/services/create_deployment_service_spec.rb
@@ -56,8 +56,38 @@ describe CreateDeploymentService, services: true do
expect(subject).not_to be_persisted
end
end
+
+ context 'when variables are used' do
+ let(:params) do
+ { environment: 'review-apps/$CI_BUILD_REF_NAME',
+ ref: 'master',
+ tag: false,
+ sha: '97de212e80737a608d939f648d959671fb0a0142',
+ options: {
+ environment: {
+ name: 'review-apps/$CI_BUILD_REF_NAME',
+ url: 'http://$CI_BUILD_REF_NAME.review-apps.gitlab.com'
+ }
+ },
+ variables: [
+ { key: 'CI_BUILD_REF_NAME', value: 'feature-review-apps' }
+ ]
+ }
+ end
+
+ it 'does create a new environment' do
+ expect { subject }.to change { Environment.count }.by(1)
+
+ expect(subject.environment.name).to eq('review-apps/feature-review-apps')
+ expect(subject.environment.external_url).to eq('http://feature-review-apps.review-apps.gitlab.com')
+ end
+
+ it 'does create a new deployment' do
+ expect(subject).not_to be_persisted
+ end
+ end
end
-
+
describe 'processing of builds' do
let(:environment) { nil }