summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/ci/build/releaser_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-06-18 11:18:50 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-06-18 11:18:50 +0000
commit8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch)
treea77e7fe7a93de11213032ed4ab1f33a3db51b738 /spec/lib/gitlab/ci/build/releaser_spec.rb
parent00b35af3db1abfe813a778f643dad221aad51fca (diff)
downloadgitlab-ce-8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781.tar.gz
Add latest changes from gitlab-org/gitlab@13-1-stable-ee
Diffstat (limited to 'spec/lib/gitlab/ci/build/releaser_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/build/releaser_spec.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/build/releaser_spec.rb b/spec/lib/gitlab/ci/build/releaser_spec.rb
new file mode 100644
index 00000000000..2f7bca777dd
--- /dev/null
+++ b/spec/lib/gitlab/ci/build/releaser_spec.rb
@@ -0,0 +1,51 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Gitlab::Ci::Build::Releaser do
+ subject { described_class.new(config: config[:release]).script }
+
+ describe '#script' do
+ context 'all nodes' do
+ let(:config) do
+ {
+ release: {
+ name: 'Release $CI_COMMIT_SHA',
+ description: 'Created using the release-cli $EXTRA_DESCRIPTION',
+ tag_name: 'release-$CI_COMMIT_SHA',
+ ref: '$CI_COMMIT_SHA'
+ }
+ }
+ end
+
+ it 'generates the script' do
+ expect(subject).to eq('release-cli create --name "Release $CI_COMMIT_SHA" --description "Created using the release-cli $EXTRA_DESCRIPTION" --tag-name "release-$CI_COMMIT_SHA" --ref "$CI_COMMIT_SHA"')
+ end
+ end
+
+ context 'individual nodes' do
+ using RSpec::Parameterized::TableSyntax
+
+ where(:node_name, :node_value, :result) do
+ 'name' | 'Release $CI_COMMIT_SHA' | 'release-cli create --name "Release $CI_COMMIT_SHA"'
+ 'description' | 'Release-cli $EXTRA_DESCRIPTION' | 'release-cli create --description "Release-cli $EXTRA_DESCRIPTION"'
+ 'tag_name' | 'release-$CI_COMMIT_SHA' | 'release-cli create --tag-name "release-$CI_COMMIT_SHA"'
+ 'ref' | '$CI_COMMIT_SHA' | 'release-cli create --ref "$CI_COMMIT_SHA"'
+ end
+
+ with_them do
+ let(:config) do
+ {
+ release: {
+ node_name => node_value
+ }
+ }
+ end
+
+ it 'generates the script' do
+ expect(subject).to eq(result)
+ end
+ end
+ end
+ end
+end