Fix deleting secrets by ARN (#4918)

This commit is contained in:
Daniel Roschka 2022-03-08 11:17:28 +01:00 committed by GitHub
parent 1d7440914e
commit d324a77445
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 0 deletions

View File

@ -180,6 +180,10 @@ class SecretsStore(dict):
new_key = get_secret_name_from_arn(key)
return dict.__contains__(self, new_key)
def get(self, key, *args, **kwargs):
new_key = get_secret_name_from_arn(key)
return super().get(new_key, *args, **kwargs)
def pop(self, key, *args, **kwargs):
new_key = get_secret_name_from_arn(key)
return super().pop(new_key, *args, **kwargs)

View File

@ -226,6 +226,25 @@ def test_delete_secret():
assert secret_details["DeletedDate"] > datetime.fromtimestamp(1, pytz.utc)
@mock_secretsmanager
def test_delete_secret_by_arn():
conn = boto3.client("secretsmanager", region_name="us-west-2")
secret = conn.create_secret(Name="test-secret", SecretString="foosecret")
deleted_secret = conn.delete_secret(SecretId=secret["ARN"])
assert deleted_secret["ARN"] == secret["ARN"]
assert deleted_secret["Name"] == "test-secret"
assert deleted_secret["DeletionDate"] > datetime.fromtimestamp(1, pytz.utc)
secret_details = conn.describe_secret(SecretId="test-secret")
assert secret_details["ARN"] == secret["ARN"]
assert secret_details["Name"] == "test-secret"
assert secret_details["DeletedDate"] > datetime.fromtimestamp(1, pytz.utc)
@mock_secretsmanager
def test_delete_secret_force():
conn = boto3.client("secretsmanager", region_name="us-west-2")