Не подтверждена Коммит adc743fa создал по автору ddavison's avatar ddavison
Просмотр файлов

Add missing logic to require_gcloud_environment; add spec

владелец 3a3112c6
......@@ -204,7 +204,8 @@ def require_github_access_token!
end
def require_gcloud_environment!
missing_keys = (GCLOUD_CREDENTIAL_VARIABLES + GCLOUD_REQUIRED_VARIABLES) - ENV.keys
required_keys = (GCLOUD_CREDENTIAL_VARIABLES + GCLOUD_REQUIRED_VARIABLES)
missing_keys = required_keys - ENV.keys
if missing_keys.any?
raise ArgumentError, "Environment variables #{required_keys.join(',')} must be set to run kubernetes specs. Missing: #{missing_keys.join(',')}"
......
......@@ -230,6 +230,44 @@
end
end
describe '.require_gcloud_environment!' do
it 'raises ArgumentError if required credential variables are not defined' do
stub_env('GCLOUD_ACCOUNT_KEY', nil)
stub_env('GCLOUD_ACCOUNT_EMAIL', nil)
expect { described_class.require_gcloud_environment! }.to raise_error(ArgumentError)
end
it 'raises ArgumentError if other required gcloud variables are not defined' do
stub_env('GCLOUD_ACCOUNT_KEY', 'foo')
stub_env('GCLOUD_ACCOUNT_EMAIL', 'bar')
stub_env('CLOUDSDK_CORE_PROJECT', nil)
stub_env('GCLOUD_REGION', nil)
expect { described_class.require_gcloud_environment! }.to raise_error(ArgumentError)
end
it 'doesnt raise error when all required variables are set' do
stub_env('GCLOUD_ACCOUNT_KEY', 'foo')
stub_env('GCLOUD_ACCOUNT_EMAIL', 'bar')
stub_env('CLOUDSDK_CORE_PROJECT', 'baz')
stub_env('GCLOUD_REGION', 'bag')
expect { described_class.require_gcloud_environment! }.not_to raise_error
end
end
describe '.has_gcloud_credentials?' do
it 'has gcloud credentials only when GCLOUD_ACCOUNT_KEY,GCLOUD_ACCOUNT_EMAIL are set' do
expect(described_class.has_gcloud_credentials?).to be_falsey
stub_env('GCLOUD_ACCOUNT_KEY', 'foo')
stub_env('GCLOUD_ACCOUNT_EMAIL', 'bar')
expect(described_class.has_gcloud_credentials?).to be_truthy
end
end
describe '.log_destination' do
it 'returns $stdout if QA_LOG_PATH is not defined' do
stub_env('QA_LOG_PATH', nil)
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать