Change put_rule (and it's response) and fix tests_events/

This commit is contained in:
Guilherme Martins Crocetti 2020-03-22 17:32:37 -03:00
parent 7318523b50
commit a1f664d2bb
3 changed files with 22 additions and 9 deletions

View File

@ -250,10 +250,10 @@ class EventsBackend(BaseBackend):
return return_obj
def put_rule(self, name, **kwargs):
rule = Rule(name, self.region_name, **kwargs)
self.rules[rule.name] = rule
self.rules_order.append(rule.name)
return rule.arn
new_rule = Rule(name, self.region_name, **kwargs)
self.rules[new_rule.name] = new_rule
self.rules_order.append(new_rule.name)
return new_rule
def put_targets(self, name, targets):
rule = self.rules.get(name)

View File

@ -191,7 +191,7 @@ class EventsHandler(BaseResponse):
"ValidationException", "Parameter ScheduleExpression is not valid."
)
rule_arn = self.events_backend.put_rule(
rule = self.events_backend.put_rule(
name,
ScheduleExpression=sched_exp,
EventPattern=event_pattern,
@ -200,7 +200,7 @@ class EventsHandler(BaseResponse):
RoleArn=role_arn,
)
return json.dumps({"RuleArn": rule_arn}), self.response_headers
return json.dumps({"RuleArn": rule.arn}), self.response_headers
def put_targets(self):
rule_name = self._get_param("Rule")

View File

@ -1,15 +1,16 @@
from moto.events.models import EventsBackend
from moto.events import mock_events
import json
import random
import unittest
import boto3
import sure # noqa
from botocore.exceptions import ClientError
from moto.core.exceptions import JsonRESTError
from nose.tools import assert_raises
from moto.core import ACCOUNT_ID
from moto.core.exceptions import JsonRESTError
from moto.events import mock_events
from moto.events.models import EventsBackend
RULES = [
{"Name": "test1", "ScheduleExpression": "rate(5 minutes)"},
@ -75,6 +76,18 @@ def generate_environment():
return client
@mock_events
def test_put_rule():
client = boto3.client("events", "us-west-2")
client.list_rules()["Rules"].should.have.length_of(0)
rule_data = get_random_rule()
client.put_rule(**rule_data)
client.list_rules()["Rules"].should.have.length_of(1)
@mock_events
def test_list_rules():
client = generate_environment()