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