This commit is contained in:
Steve Pulec 2017-02-23 21:37:43 -05:00
commit f37bad0e00
260 changed files with 6363 additions and 3766 deletions

View file

@ -53,7 +53,8 @@ class EventsBackend(BaseBackend):
def __init__(self):
self.rules = {}
# This array tracks the order in which the rules have been added, since 2.6 doesn't have OrderedDicts.
# This array tracks the order in which the rules have been added, since
# 2.6 doesn't have OrderedDicts.
self.rules_order = []
self.next_tokens = {}
@ -106,7 +107,8 @@ class EventsBackend(BaseBackend):
matching_rules = []
return_obj = {}
start_index, end_index, new_next_token = self._process_token_and_limits(len(self.rules), next_token, limit)
start_index, end_index, new_next_token = self._process_token_and_limits(
len(self.rules), next_token, limit)
for i in range(start_index, end_index):
rule = self._get_rule_by_index(i)
@ -130,7 +132,8 @@ class EventsBackend(BaseBackend):
matching_rules = []
return_obj = {}
start_index, end_index, new_next_token = self._process_token_and_limits(len(self.rules), next_token, limit)
start_index, end_index, new_next_token = self._process_token_and_limits(
len(self.rules), next_token, limit)
for i in range(start_index, end_index):
rule = self._get_rule_by_index(i)
@ -144,10 +147,12 @@ class EventsBackend(BaseBackend):
return return_obj
def list_targets_by_rule(self, rule, next_token=None, limit=None):
# We'll let a KeyError exception be thrown for response to handle if rule doesn't exist.
# We'll let a KeyError exception be thrown for response to handle if
# rule doesn't exist.
rule = self.rules[rule]
start_index, end_index, new_next_token = self._process_token_and_limits(len(rule.targets), next_token, limit)
start_index, end_index, new_next_token = self._process_token_and_limits(
len(rule.targets), next_token, limit)
returned_targets = []
return_obj = {}
@ -188,4 +193,5 @@ class EventsBackend(BaseBackend):
def test_event_pattern(self):
raise NotImplementedError()
events_backend = EventsBackend()

View file

@ -87,7 +87,8 @@ class EventsHandler(BaseResponse):
if not target_arn:
return self.error('ValidationException', 'Parameter TargetArn is required.')
rule_names = events_backend.list_rule_names_by_target(target_arn, next_token, limit)
rule_names = events_backend.list_rule_names_by_target(
target_arn, next_token, limit)
return json.dumps(rule_names), self.response_headers
@ -118,7 +119,8 @@ class EventsHandler(BaseResponse):
return self.error('ValidationException', 'Parameter Rule is required.')
try:
targets = events_backend.list_targets_by_rule(rule_name, next_token, limit)
targets = events_backend.list_targets_by_rule(
rule_name, next_token, limit)
except KeyError:
return self.error('ResourceNotFoundException', 'Rule ' + rule_name + ' does not exist.')
@ -140,7 +142,8 @@ class EventsHandler(BaseResponse):
try:
json.loads(event_pattern)
except ValueError:
# Not quite as informative as the real error, but it'll work for now.
# Not quite as informative as the real error, but it'll work
# for now.
return self.error('InvalidEventPatternException', 'Event pattern is not valid.')
if sched_exp: