Events: delete_rule() with unknown name should fail silently (#5665)
This commit is contained in:
parent
2c755c8c91
commit
68cf3e8a1d
@ -1057,15 +1057,17 @@ class EventsBackend(BaseBackend):
|
|||||||
|
|
||||||
return rule
|
return rule
|
||||||
|
|
||||||
def delete_rule(self, name):
|
def delete_rule(self, name: str) -> None:
|
||||||
rule = self.rules.get(name)
|
rule = self.rules.get(name)
|
||||||
|
if not rule:
|
||||||
|
return
|
||||||
if len(rule.targets) > 0:
|
if len(rule.targets) > 0:
|
||||||
raise ValidationException("Rule can't be deleted since it has targets.")
|
raise ValidationException("Rule can't be deleted since it has targets.")
|
||||||
|
|
||||||
arn = rule.arn
|
arn = rule.arn
|
||||||
if self.tagger.has_tags(arn):
|
if self.tagger.has_tags(arn):
|
||||||
self.tagger.delete_all_tags_for_resource(arn)
|
self.tagger.delete_all_tags_for_resource(arn)
|
||||||
return self.rules.pop(name) is not None
|
self.rules.pop(name)
|
||||||
|
|
||||||
def describe_rule(self, name):
|
def describe_rule(self, name):
|
||||||
rule = self.rules.get(name)
|
rule = self.rules.get(name)
|
||||||
|
@ -324,6 +324,15 @@ def test_delete_rule_with_targets():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@mock_events
|
||||||
|
def test_delete_unknown_rule():
|
||||||
|
client = boto3.client("events", "us-west-1")
|
||||||
|
resp = client.delete_rule(Name="unknown")
|
||||||
|
|
||||||
|
# this fails silently - it just returns an empty 200. Verified against AWS.
|
||||||
|
resp["ResponseMetadata"].should.have.key("HTTPStatusCode").equals(200)
|
||||||
|
|
||||||
|
|
||||||
@mock_events
|
@mock_events
|
||||||
def test_list_targets_by_rule():
|
def test_list_targets_by_rule():
|
||||||
rule_name = get_random_rule()["Name"]
|
rule_name = get_random_rule()["Name"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user