diff --git a/moto/secretsmanager/utils.py b/moto/secretsmanager/utils.py index 24d1a8549..b9a7671b3 100644 --- a/moto/secretsmanager/utils.py +++ b/moto/secretsmanager/utils.py @@ -64,7 +64,7 @@ def random_password( def secret_arn(region, secret_id): - id_string = "".join(random.choice(string.ascii_letters) for _ in range(5)) + id_string = "".join(random.choice(string.ascii_letters) for _ in range(6)) return "arn:aws:secretsmanager:{0}:{1}:secret:{2}-{3}".format( region, get_account_id(), secret_id, id_string ) diff --git a/tests/test_secretsmanager/test_secretsmanager.py b/tests/test_secretsmanager/test_secretsmanager.py index ec793cb7b..7568805a4 100644 --- a/tests/test_secretsmanager/test_secretsmanager.py +++ b/tests/test_secretsmanager/test_secretsmanager.py @@ -2,6 +2,7 @@ import os import boto3 from dateutil.tz import tzlocal +import re from moto import mock_secretsmanager, mock_lambda, settings from moto.core import ACCOUNT_ID @@ -26,6 +27,22 @@ def test_get_secret_value(): assert result["SecretString"] == "foosecret" +@mock_secretsmanager +def test_secret_arn(): + region = "us-west-2" + conn = boto3.client("secretsmanager", region_name=region) + + create_dict = conn.create_secret( + Name=DEFAULT_SECRET_NAME, + SecretString="secret_string", + ) + assert re.match( + f"arn:aws:secretsmanager:{region}:{ACCOUNT_ID}:secret:{DEFAULT_SECRET_NAME}-" + + r"\w{6}", + create_dict["ARN"], + ) + + @mock_secretsmanager def test_create_secret_with_client_request_token(): conn = boto3.client("secretsmanager", region_name="us-west-2")