From 4c86566f82369a8f4753e757b32604ee94bb2096 Mon Sep 17 00:00:00 2001 From: Kirill Losev Date: Wed, 9 Aug 2023 02:52:37 +0300 Subject: [PATCH 1/2] rdata_text for SrvValue Fixing #1038 --- octodns/record/srv.py | 4 ++++ tests/test_octodns_record_srv.py | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/octodns/record/srv.py b/octodns/record/srv.py index af3797c..33e76ce 100644 --- a/octodns/record/srv.py +++ b/octodns/record/srv.py @@ -132,6 +132,10 @@ class SrvValue(EqualityTupleMixin, dict): def data(self): return self + @property + def rdata_text(self): + return f"{self.priority} {self.weight} {self.port} {self.target}" + def __hash__(self): return hash(self.__repr__()) diff --git a/tests/test_octodns_record_srv.py b/tests/test_octodns_record_srv.py index 3cc39b5..c094e1d 100644 --- a/tests/test_octodns_record_srv.py +++ b/tests/test_octodns_record_srv.py @@ -141,6 +141,19 @@ class TestRecordSrv(TestCase): self.assertEqual(2, a.values[0].weight) self.assertEqual(3, a.values[0].port) self.assertEqual('srv.unit.tests.', a.values[0].target) + self.assertEqual('1 2 3 srv.unit.tests.', a.values[0].rdata_text) + + # both directions should match + rdata = '1 2 3 srv.unit.tests.' + record = SrvRecord( + zone, + '_srv._tcp', + { + 'ttl': 32, + 'value': SrvValue.parse_rdata_text(rdata), + }, + ) + self.assertEqual(rdata, record.values[0].rdata_text) def test_srv_value(self): a = SrvValue({'priority': 0, 'weight': 0, 'port': 0, 'target': 'foo.'}) From 316ed95304a4948d168ce0f1ed3b3cd690d6d954 Mon Sep 17 00:00:00 2001 From: Kir Date: Wed, 9 Aug 2023 12:38:46 +0300 Subject: [PATCH 2/2] Reformatting test file --- tests/test_octodns_record_srv.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/test_octodns_record_srv.py b/tests/test_octodns_record_srv.py index c094e1d..e774dc5 100644 --- a/tests/test_octodns_record_srv.py +++ b/tests/test_octodns_record_srv.py @@ -148,10 +148,7 @@ class TestRecordSrv(TestCase): record = SrvRecord( zone, '_srv._tcp', - { - 'ttl': 32, - 'value': SrvValue.parse_rdata_text(rdata), - }, + {'ttl': 32, 'value': SrvValue.parse_rdata_text(rdata)}, ) self.assertEqual(rdata, record.values[0].rdata_text)