Update secrets manager spec to render multiple errors
This commit is contained in:
@@ -27,7 +27,7 @@ class Kamal::Secrets::Adapters::AwsSecretsManager < Kamal::Secrets::Adapters::Ba
|
|||||||
|
|
||||||
return secrets["SecretValues"] unless secrets["Errors"].present?
|
return secrets["SecretValues"] unless secrets["Errors"].present?
|
||||||
|
|
||||||
raise RuntimeError, secrets["Errors"].map { |error| "#{error['SecretId']}: #{error['Message']}" }.join(", ")
|
raise RuntimeError, secrets["Errors"].map { |error| "#{error['SecretId']}: #{error['Message']}" }.join(" ")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,18 @@ class AwsSecretsManagerAdapterTest < SecretAdapterTestCase
|
|||||||
test "fails when errors are present" do
|
test "fails when errors are present" do
|
||||||
stub_ticks.with("aws --version 2> /dev/null")
|
stub_ticks.with("aws --version 2> /dev/null")
|
||||||
stub_ticks
|
stub_ticks
|
||||||
.with("aws secretsmanager batch-get-secret-value --secret-id-list unknown-secret-id --profile default")
|
.with("aws secretsmanager batch-get-secret-value --secret-id-list unknown1 unknown2 --profile default")
|
||||||
.returns(<<~JSON)
|
.returns(<<~JSON)
|
||||||
{
|
{
|
||||||
"SecretValues": [],
|
"SecretValues": [],
|
||||||
"Errors": [
|
"Errors": [
|
||||||
{
|
{
|
||||||
"SecretId": "unknown-secret-id",
|
"SecretId": "unknown1",
|
||||||
|
"ErrorCode": "ResourceNotFoundException",
|
||||||
|
"Message": "Secrets Manager can't find the specified secret."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SecretId": "unknown2",
|
||||||
"ErrorCode": "ResourceNotFoundException",
|
"ErrorCode": "ResourceNotFoundException",
|
||||||
"Message": "Secrets Manager can't find the specified secret."
|
"Message": "Secrets Manager can't find the specified secret."
|
||||||
}
|
}
|
||||||
@@ -19,10 +24,10 @@ class AwsSecretsManagerAdapterTest < SecretAdapterTestCase
|
|||||||
JSON
|
JSON
|
||||||
|
|
||||||
error = assert_raises RuntimeError do
|
error = assert_raises RuntimeError do
|
||||||
JSON.parse(shellunescape(run_command("fetch", "unknown-secret-id")))
|
JSON.parse(shellunescape(run_command("fetch", "unknown1", "unknown2")))
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_equal "unknown-secret-id: Secrets Manager can't find the specified secret.", error.message
|
assert_equal ["unknown1: Secrets Manager can't find the specified secret.", "unknown2: Secrets Manager can't find the specified secret."].join(" "), error.message
|
||||||
end
|
end
|
||||||
|
|
||||||
test "fetch" do
|
test "fetch" do
|
||||||
|
|||||||
Reference in New Issue
Block a user