Merge pull request #2770 from oanise93/fix_ssm_delete_parameter
Changes behavior of delete_parameter when parameter doesn't exist
This commit is contained in:
commit
a86f459ac9
@ -278,10 +278,7 @@ class SimpleSystemManagerBackend(BaseBackend):
|
|||||||
self._region = region
|
self._region = region
|
||||||
|
|
||||||
def delete_parameter(self, name):
|
def delete_parameter(self, name):
|
||||||
try:
|
return self._parameters.pop(name, None)
|
||||||
del self._parameters[name]
|
|
||||||
except KeyError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def delete_parameters(self, names):
|
def delete_parameters(self, names):
|
||||||
result = []
|
result = []
|
||||||
|
@ -22,7 +22,13 @@ class SimpleSystemManagerResponse(BaseResponse):
|
|||||||
|
|
||||||
def delete_parameter(self):
|
def delete_parameter(self):
|
||||||
name = self._get_param("Name")
|
name = self._get_param("Name")
|
||||||
self.ssm_backend.delete_parameter(name)
|
result = self.ssm_backend.delete_parameter(name)
|
||||||
|
if result is None:
|
||||||
|
error = {
|
||||||
|
"__type": "ParameterNotFound",
|
||||||
|
"message": "Parameter {0} not found.".format(name),
|
||||||
|
}
|
||||||
|
return json.dumps(error), dict(status=400)
|
||||||
return json.dumps({})
|
return json.dumps({})
|
||||||
|
|
||||||
def delete_parameters(self):
|
def delete_parameters(self):
|
||||||
|
@ -30,6 +30,18 @@ def test_delete_parameter():
|
|||||||
len(response["Parameters"]).should.equal(0)
|
len(response["Parameters"]).should.equal(0)
|
||||||
|
|
||||||
|
|
||||||
|
@mock_ssm
|
||||||
|
def test_delete_nonexistent_parameter():
|
||||||
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
|
with assert_raises(ClientError) as ex:
|
||||||
|
client.delete_parameter(Name="test_noexist")
|
||||||
|
ex.exception.response["Error"]["Code"].should.equal("ParameterNotFound")
|
||||||
|
ex.exception.response["Error"]["Message"].should.equal(
|
||||||
|
"Parameter test_noexist not found."
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_delete_parameters():
|
def test_delete_parameters():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user