summaryrefslogtreecommitdiff
path: root/qa/spec/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'qa/spec/runtime')
-rw-r--r--qa/spec/runtime/env_spec.rb66
1 files changed, 23 insertions, 43 deletions
diff --git a/qa/spec/runtime/env_spec.rb b/qa/spec/runtime/env_spec.rb
index c06e2dba8e7..e298795c6cf 100644
--- a/qa/spec/runtime/env_spec.rb
+++ b/qa/spec/runtime/env_spec.rb
@@ -1,28 +1,28 @@
describe QA::Runtime::Env do
include Support::StubENV
- describe '.verbose?' do
+ shared_examples 'boolean method' do |method, env_key|
context 'when there is an env variable set' do
it 'returns false when falsey values specified' do
- stub_env('VERBOSE', 'false')
- expect(described_class.verbose?).to be_falsey
+ stub_env(env_key, 'false')
+ expect(described_class.public_send(method)).to be_falsey
- stub_env('VERBOSE', 'no')
- expect(described_class.verbose?).to be_falsey
+ stub_env(env_key, 'no')
+ expect(described_class.public_send(method)).to be_falsey
- stub_env('VERBOSE', '0')
- expect(described_class.verbose?).to be_falsey
+ stub_env(env_key, '0')
+ expect(described_class.public_send(method)).to be_falsey
end
it 'returns true when anything else specified' do
- stub_env('VERBOSE', 'true')
- expect(described_class.verbose?).to be_truthy
+ stub_env(env_key, 'true')
+ expect(described_class.public_send(method)).to be_truthy
- stub_env('VERBOSE', '1')
- expect(described_class.verbose?).to be_truthy
+ stub_env(env_key, '1')
+ expect(described_class.public_send(method)).to be_truthy
- stub_env('VERBOSE', 'anything')
- expect(described_class.verbose?).to be_truthy
+ stub_env(env_key, 'anything')
+ expect(described_class.public_send(method)).to be_truthy
end
end
@@ -34,37 +34,12 @@ describe QA::Runtime::Env do
end
end
- describe '.chrome_headless?' do
- context 'when there is an env variable set' do
- it 'returns false when falsey values specified' do
- stub_env('CHROME_HEADLESS', 'false')
- expect(described_class.chrome_headless?).to be_falsey
-
- stub_env('CHROME_HEADLESS', 'no')
- expect(described_class.chrome_headless?).to be_falsey
-
- stub_env('CHROME_HEADLESS', '0')
- expect(described_class.chrome_headless?).to be_falsey
- end
-
- it 'returns true when anything else specified' do
- stub_env('CHROME_HEADLESS', 'true')
- expect(described_class.chrome_headless?).to be_truthy
-
- stub_env('CHROME_HEADLESS', '1')
- expect(described_class.chrome_headless?).to be_truthy
-
- stub_env('CHROME_HEADLESS', 'anything')
- expect(described_class.chrome_headless?).to be_truthy
- end
- end
+ describe '.verbose?' do
+ it_behaves_like 'boolean method', :verbose?, 'VERBOSE'
+ end
- context 'when there is no env variable set' do
- it 'returns the default, true' do
- stub_env('CHROME_HEADLESS', nil)
- expect(described_class.chrome_headless?).to be_truthy
- end
- end
+ describe '.chrome_headless?' do
+ it_behaves_like 'boolean method', :chrome_headless?, 'CHROME_HEADLESS'
end
describe '.running_in_ci?' do
@@ -132,6 +107,11 @@ describe QA::Runtime::Env do
end
describe '.forker?' do
+ before do
+ stub_env('GITLAB_FORKER_USERNAME', nil)
+ stub_env('GITLAB_FORKER_PASSWORD', nil)
+ end
+
it 'returns false if no forker credentials are defined' do
expect(described_class).not_to be_forker
end