summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSergey Gnuskov <sergey.gnuskov@flant.com>2016-09-05 12:42:59 +0300
committerSergey Gnuskov <sergey.gnuskov@flant.com>2016-09-09 12:09:16 +0300
commit0f73dd34fe4df166c2e724a80d798d452404b06f (patch)
tree63a301b2c9751e00f89f9d2ed95d406e69d7ba32 /spec
parent4c833a1d4ead49c27f6a81e607d10a5c6f0fcc2b (diff)
downloadgitlab-ce-0f73dd34fe4df166c2e724a80d798d452404b06f.tar.gz
Add information about user and manual build start to runner as variables
Diffstat (limited to 'spec')
-rw-r--r--spec/models/build_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb
index c45c2635cf4..8eab4281bc7 100644
--- a/spec/models/build_spec.rb
+++ b/spec/models/build_spec.rb
@@ -231,6 +231,34 @@ describe Ci::Build, models: true do
it { is_expected.to eq(predefined_variables) }
end
+ context 'when build has user' do
+ let(:user) { create(:user, username: 'starter') }
+ let(:user_variables) do
+ [
+ { key: 'GITLAB_USER_ID', value: user.id.to_s, public: true },
+ { key: 'GITLAB_USER_EMAIL', value: user.email, public: true }
+ ]
+ end
+
+ before do
+ build.update_attributes(user: user)
+ end
+
+ it { user_variables.each { |v| is_expected.to include(v) } }
+ end
+
+ context 'when build started manually' do
+ before do
+ build.update_attributes(when: :manual)
+ end
+
+ let(:manual_variable) do
+ { key: 'CI_BUILD_MANUAL', value: 'true', public: true }
+ end
+
+ it { is_expected.to include(manual_variable) }
+ end
+
context 'when build is for tag' do
let(:tag_variable) do
{ key: 'CI_BUILD_TAG', value: 'master', public: true }