From 14ec3531ff5430d2927d1ee5b62231859136ee10 Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Tue, 8 Sep 2015 21:36:32 +0000 Subject: [PATCH] Add support for latency based route53 records Store and marshal the region field of records Signed-off-by: Kevin Donnelly --- moto/route53/models.py | 4 ++++ tests/test_route53/test_route53.py | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/moto/route53/models.py b/moto/route53/models.py index 00e23c38e..0e79d617a 100644 --- a/moto/route53/models.py +++ b/moto/route53/models.py @@ -68,6 +68,7 @@ class RecordSet(object): self.records = kwargs.get('ResourceRecords', []) self.set_identifier = kwargs.get('SetIdentifier') self.weight = kwargs.get('Weight') + self.region = kwargs.get('Region') self.health_check = kwargs.get('HealthCheckId') @classmethod @@ -89,6 +90,9 @@ class RecordSet(object): {% if record_set.weight %} {{ record_set.weight }} {% endif %} + {% if record_set.region %} + {{ record_set.region }} + {% endif %} {{ record_set.ttl }} {% for record in record_set.records %} diff --git a/tests/test_route53/test_route53.py b/tests/test_route53/test_route53.py index 669b8b2e3..5556bfc7d 100644 --- a/tests/test_route53/test_route53.py +++ b/tests/test_route53/test_route53.py @@ -239,3 +239,25 @@ def test_deleting_weighted_route(): cname = zone.get_cname('cname.testdns.aws.com.', all=True) # When get_cname only had one result, it returns just that result instead of a list. cname.identifier.should.equal('success-test-bar') + + +@mock_route53 +def test_deleting_latency_route(): + conn = boto.connect_route53() + + conn.create_hosted_zone("testdns.aws.com.") + zone = conn.get_zone("testdns.aws.com.") + + zone.add_cname("cname.testdns.aws.com", "example.com", identifier=('success-test-foo', 'us-west-2')) + zone.add_cname("cname.testdns.aws.com", "example.com", identifier=('success-test-bar', 'us-west-1')) + + cnames = zone.get_cname('cname.testdns.aws.com.', all=True) + cnames.should.have.length_of(2) + foo_cname = [cname for cname in cnames if cname.identifier == 'success-test-foo'][0] + foo_cname.region.should.equal('us-west-2') + + zone.delete_record(foo_cname) + cname = zone.get_cname('cname.testdns.aws.com.', all=True) + # When get_cname only had one result, it returns just that result instead of a list. + cname.identifier.should.equal('success-test-bar') + cname.region.should.equal('us-west-1')