Skip to content

Commit

Permalink
test: check logging error when refreshing credentials are failed
Browse files Browse the repository at this point in the history
Signed-off-by: Kentaro Hayashi <[email protected]>
  • Loading branch information
kenhys committed Oct 2, 2024
1 parent a8e1639 commit 3d7c759
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions test/plugin/test_out_opensearch.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3977,4 +3977,27 @@ def test_ignore_excetion_handles_appropriate_ones
end
}
end

def test_no_aws_credentials_refresh_exception
# See https://github.com/fluent/fluent-plugin-opensearch/issues/129
endpoint_config =
Fluent::Config::Element.new('endpoint', '', {
'url' => "https://search-opensearch.aws.example.com/",
'region' => "local",
'access_key_id' => 'YOUR_AWESOME_KEY',
'secret_access_key' => 'YOUR_AWESOME_SECRET',
'refresh_credentials_interval' => '0',
}, [])
config = Fluent::Config::Element.new('ROOT', '**', { '@type' => 'opensearch' },
[endpoint_config])
# aws_credentials will be called twice in
# OpenSearchOutput#configure call, and in the 2nd call was changed not
# to emit exception. (instead, logging error) so check the error logs
flexmock(Fluent::Plugin::OpenSearchOutput).new_instances.should_receive(:aws_credentials)
.and_return(true).and_raise(::RuntimeError.new("No valid AWS credentials found."))
d = driver(config)
d.instance_start
d.instance_shutdown
assert_true(d.logs.grep(/\[error\]: Failed to get new AWS credentials: No valid AWS credentials found.\n/).size > 0)
end
end

0 comments on commit 3d7c759

Please sign in to comment.