test/plugin/base_test.rb in fluent-plugin-google-cloud-0.6.19 vs test/plugin/base_test.rb in fluent-plugin-google-cloud-0.6.20
- old
+ new
@@ -25,11 +25,11 @@
include Constants
def setup
Fluent::Test.setup
# delete environment variables that googleauth uses to find credentials.
- ENV.delete('GOOGLE_APPLICATION_CREDENTIALS')
+ ENV.delete(CREDENTIALS_PATH_ENV_VAR)
# service account env.
ENV.delete('PRIVATE_KEY_VAR')
ENV.delete('CLIENT_EMAIL_VAR')
# authorized_user env.
ENV.delete('CLIENT_ID_VAR')
@@ -227,11 +227,11 @@
def test_project_id_from_credentials
%w(gce ec2).each do |platform|
send("setup_#{platform}_metadata_stubs")
[IAM_CREDENTIALS, NEW_STYLE_CREDENTIALS, LEGACY_CREDENTIALS].each \
do |creds|
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] = creds[:path]
+ ENV[CREDENTIALS_PATH_ENV_VAR] = creds[:path]
d = create_driver
d.run
assert_equal creds[:project_id], d.instance.project_id
end
end
@@ -247,11 +247,11 @@
verify_log_entries(1, COMPUTE_PARAMS)
end
def test_one_log_with_json_credentials
setup_gce_metadata_stubs
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] = IAM_CREDENTIALS[:path]
+ ENV[CREDENTIALS_PATH_ENV_VAR] = IAM_CREDENTIALS[:path]
setup_logging_stubs do
d = create_driver
d.emit('message' => log_entry(0))
d.run
end
@@ -261,46 +261,56 @@
def test_invalid_json_credentials
%w(gce_metadata ec2_metadata no_metadata_service).each do |platform|
send("setup_#{platform}_stubs")
exception_count = 0
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] = INVALID_CREDENTIALS[:path]
+ ENV[CREDENTIALS_PATH_ENV_VAR] = INVALID_CREDENTIALS[:path]
begin
create_driver
rescue RuntimeError => error
assert error.message.include? 'Unable to read the credential file'
exception_count += 1
end
assert_equal 1, exception_count
end
end
+ def test_unset_or_empty_credentials_path_env_var
+ # An empty string should be treated as if it's not set.
+ [nil, ''].each do |value|
+ ENV[CREDENTIALS_PATH_ENV_VAR] = value
+ setup_gce_metadata_stubs
+ create_driver
+ assert_nil ENV[CREDENTIALS_PATH_ENV_VAR]
+ end
+ end
+
def test_one_log_custom_metadata
# don't set up any metadata stubs, so the test will fail if we try to
# fetch metadata (and explicitly check this as well).
Fluent::GoogleCloudOutput.any_instance.expects(:fetch_metadata).never
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] = IAM_CREDENTIALS[:path]
+ ENV[CREDENTIALS_PATH_ENV_VAR] = IAM_CREDENTIALS[:path]
setup_logging_stubs do
d = create_driver(NO_METADATA_SERVICE_CONFIG + CUSTOM_METADATA_CONFIG)
d.emit('message' => log_entry(0))
d.run
end
verify_log_entries(1, CUSTOM_PARAMS)
end
def test_one_log_ec2
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] = IAM_CREDENTIALS[:path]
+ ENV[CREDENTIALS_PATH_ENV_VAR] = IAM_CREDENTIALS[:path]
setup_ec2_metadata_stubs
setup_logging_stubs do
d = create_driver(CONFIG_EC2_PROJECT_ID)
d.emit('message' => log_entry(0))
d.run
end
verify_log_entries(1, EC2_ZONE_PARAMS)
end
def test_one_log_ec2_region
- ENV['GOOGLE_APPLICATION_CREDENTIALS'] = IAM_CREDENTIALS[:path]
+ ENV[CREDENTIALS_PATH_ENV_VAR] = IAM_CREDENTIALS[:path]
setup_ec2_metadata_stubs
setup_logging_stubs do
d = create_driver(CONFIG_EC2_PROJECT_ID_USE_REGION)
d.emit('message' => log_entry(0))
d.run