Raise appropriate error when secret exists but has no value
This commit is contained in:
parent
cc96a5e659
commit
381e7b165f
4 changed files with 51 additions and 10 deletions
|
|
@ -8,7 +8,7 @@ import string
|
|||
import pytz
|
||||
from datetime import datetime
|
||||
import sure # noqa
|
||||
from nose.tools import assert_raises
|
||||
from nose.tools import assert_raises, assert_raises_regexp
|
||||
from six import b
|
||||
|
||||
DEFAULT_SECRET_NAME = 'test-secret'
|
||||
|
|
@ -65,6 +65,21 @@ def test_get_secret_value_that_is_marked_deleted():
|
|||
result = conn.get_secret_value(SecretId='test-secret')
|
||||
|
||||
|
||||
@mock_secretsmanager
|
||||
def test_get_secret_that_has_no_value():
|
||||
conn = boto3.client('secretsmanager', region_name='us-west-2')
|
||||
|
||||
create_secret = conn.create_secret(Name="java-util-test-password")
|
||||
|
||||
with assert_raises_regexp(
|
||||
ClientError,
|
||||
r"An error occurred \(ResourceNotFoundException\) when calling the GetSecretValue "
|
||||
r"operation: Secrets Manager can’t find the specified secret value for staging label: "
|
||||
r"AWSCURRENT"
|
||||
):
|
||||
result = conn.get_secret_value(SecretId='java-util-test-password')
|
||||
|
||||
|
||||
@mock_secretsmanager
|
||||
def test_create_secret():
|
||||
conn = boto3.client('secretsmanager', region_name='us-east-1')
|
||||
|
|
|
|||
|
|
@ -73,6 +73,26 @@ def test_get_secret_that_does_not_match():
|
|||
assert json_data['message'] == "Secrets Manager can't find the specified secret"
|
||||
assert json_data['__type'] == 'ResourceNotFoundException'
|
||||
|
||||
@mock_secretsmanager
|
||||
def test_get_secret_that_has_no_value():
|
||||
backend = server.create_backend_app('secretsmanager')
|
||||
test_client = backend.test_client()
|
||||
|
||||
create_secret = test_client.post('/',
|
||||
data={"Name": DEFAULT_SECRET_NAME},
|
||||
headers={
|
||||
"X-Amz-Target": "secretsmanager.CreateSecret"},
|
||||
)
|
||||
get_secret = test_client.post('/',
|
||||
data={"SecretId": DEFAULT_SECRET_NAME},
|
||||
headers={
|
||||
"X-Amz-Target": "secretsmanager.GetSecretValue"},
|
||||
)
|
||||
|
||||
json_data = json.loads(get_secret.data.decode("utf-8"))
|
||||
assert json_data['message'] == "Secrets Manager can’t find the specified secret value for staging label: AWSCURRENT"
|
||||
assert json_data['__type'] == 'ResourceNotFoundException'
|
||||
|
||||
@mock_secretsmanager
|
||||
def test_create_secret():
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue