Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/ci/jwt_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/jwt_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/jwt_spec.rb b/spec/lib/gitlab/ci/jwt_spec.rb
index 3130c0c0c41..342ca6b8b75 100644
--- a/spec/lib/gitlab/ci/jwt_spec.rb
+++ b/spec/lib/gitlab/ci/jwt_spec.rb
@@ -44,6 +44,9 @@ RSpec.describe Gitlab::Ci::Jwt do
expect(payload[:pipeline_id]).to eq(pipeline.id.to_s)
expect(payload[:job_id]).to eq(build.id.to_s)
expect(payload[:ref]).to eq(pipeline.source_ref)
+ expect(payload[:ref_protected]).to eq(build.protected.to_s)
+ expect(payload[:environment]).to be_nil
+ expect(payload[:environment_protected]).to be_nil
end
end
@@ -90,6 +93,39 @@ RSpec.describe Gitlab::Ci::Jwt do
expect(payload[:ref_protected]).to eq('true')
end
end
+
+ describe 'environment' do
+ let(:environment) { build_stubbed(:environment, project: project, name: 'production') }
+ let(:build) do
+ build_stubbed(
+ :ci_build,
+ project: project,
+ user: user,
+ pipeline: pipeline,
+ environment: environment.name
+ )
+ end
+
+ before do
+ allow(build).to receive(:persisted_environment).and_return(environment)
+ end
+
+ it 'has correct values for environment attributes' do
+ expect(payload[:environment]).to eq('production')
+ expect(payload[:environment_protected]).to eq('false')
+ end
+
+ context ':ci_jwt_include_environment feature flag is disabled' do
+ before do
+ stub_feature_flags(ci_jwt_include_environment: false)
+ end
+
+ it 'does not include environment attributes' do
+ expect(payload).not_to have_key(:environment)
+ expect(payload).not_to have_key(:environment_protected)
+ end
+ end
+ end
end
describe '.for_build' do