From 41617e69a77f3905956da2ff4a403954d1d96bac Mon Sep 17 00:00:00 2001 From: Terrence Cole Date: Wed, 2 Aug 2017 10:20:10 -0700 Subject: [PATCH] MX record values are repesented by a sub-struct. --- octodns/provider/rackspace.py | 4 +- tests/test_octodns_provider_rackspace.py | 51 ++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/octodns/provider/rackspace.py b/octodns/provider/rackspace.py index 6af51fa..0eb0b2f 100644 --- a/octodns/provider/rackspace.py +++ b/octodns/provider/rackspace.py @@ -337,9 +337,9 @@ class RackspaceProvider(BaseProvider): return { 'name': remove_trailing_dot(record.fqdn), 'type': record._type, - 'data': remove_trailing_dot(value), + 'data': remove_trailing_dot(value.value), 'ttl': max(record.ttl, 300), - 'priority': record.priority + 'priority': value.priority } @staticmethod diff --git a/tests/test_octodns_provider_rackspace.py b/tests/test_octodns_provider_rackspace.py index 2862871..243ebc4 100644 --- a/tests/test_octodns_provider_rackspace.py +++ b/tests/test_octodns_provider_rackspace.py @@ -342,6 +342,57 @@ class TestRackspaceProvider(TestCase): ExpectedUpdates = None return self._test_apply_with_data(TestData) + def test_apply_create_MX(self): + class TestData(object): + OtherRecords = [ + { + "subdomain": '', + "data": { + 'type': 'MX', + 'ttl': 300, + 'value': { + 'value': 'mail1.example.com.', + 'priority': 1, + } + } + }, + { + "subdomain": 'foo', + "data": { + 'type': 'MX', + 'ttl': 300, + 'value': { + 'value': 'mail2.example.com.', + 'priority': 2 + } + } + } + ] + OwnRecords = { + "totalEntries": 0, + "records": [] + } + ExpectChanges = True + ExpectedAdditions = { + "records": [{ + "name": "foo.unit.tests", + "type": "MX", + "data": "mail2.example.com", + "priority": 2, + "ttl": 300 + }, { + "name": "unit.tests", + "type": "MX", + "data": "mail1.example.com", + "priority": 1, + "ttl": 300 + }] + } + ExpectedDeletions = None + ExpectedUpdates = None + return self._test_apply_with_data(TestData) + + def test_apply_multiple_additions_exploding(self): class TestData(object): OtherRecords = [