Fix deleting secrets by ARN (#4918)
This commit is contained in:
parent
1d7440914e
commit
d324a77445
@ -180,6 +180,10 @@ class SecretsStore(dict):
|
|||||||
new_key = get_secret_name_from_arn(key)
|
new_key = get_secret_name_from_arn(key)
|
||||||
return dict.__contains__(self, new_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):
|
def pop(self, key, *args, **kwargs):
|
||||||
new_key = get_secret_name_from_arn(key)
|
new_key = get_secret_name_from_arn(key)
|
||||||
return super().pop(new_key, *args, **kwargs)
|
return super().pop(new_key, *args, **kwargs)
|
||||||
|
@ -226,6 +226,25 @@ def test_delete_secret():
|
|||||||
assert secret_details["DeletedDate"] > datetime.fromtimestamp(1, pytz.utc)
|
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
|
@mock_secretsmanager
|
||||||
def test_delete_secret_force():
|
def test_delete_secret_force():
|
||||||
conn = boto3.client("secretsmanager", region_name="us-west-2")
|
conn = boto3.client("secretsmanager", region_name="us-west-2")
|
||||||
|
Loading…
Reference in New Issue
Block a user