Moto-1781: Create initial stub of rotate_secret and tests.

This commit is contained in:
Neil Roberts 2018-08-15 10:52:30 -07:00
parent 0b0d16e8ec
commit 69a78ba7c9
2 changed files with 31 additions and 0 deletions

View File

@ -36,6 +36,7 @@ class SecretsManagerBackend(BaseBackend):
self.rotation_enabled = False
self.rotation_lambda_arn = ''
self.auto_rotate_after_days = 0
self.version_id = ''
def reset(self):
region_name = self.region
@ -105,6 +106,20 @@ class SecretsManagerBackend(BaseBackend):
return response
def rotate_secret(self, secret_id, client_request_token=None,
rotation_lambda_arn=None, rotation_rules=None):
if not self._is_valid_identifier(secret_id):
raise ResourceNotFoundException
response = json.dumps({
"ARN": secret_arn(self.region, self.secret_id),
"Name": self.name,
"VersionId": self.version_id
})
return response
def get_random_password(self, password_length,
exclude_characters, exclude_numbers,
exclude_punctuation, exclude_uppercase,

View File

@ -179,3 +179,19 @@ def test_describe_secret_that_does_not_match():
with assert_raises(ClientError):
result = conn.get_secret_value(SecretId='i-dont-match')
@mock_secretsmanager
def test_rotate_secret_that_does_not_exist():
conn = boto3.client('secretsmanager', 'us-west-2')
with assert_raises(ClientError):
result = conn.rotate_secret(SecretId='i-dont-exist')
@mock_secretsmanager
def test_rotate_secret_that_does_not_match():
conn = boto3.client('secretsmanager', region_name='us-west-2')
conn.create_secret(Name='test-secret',
SecretString='foosecret')
with assert_raises(ClientError):
result = conn.rotate_secret(SecretId='i-dont-match')