rdata_text for SrvValue

Fixing #1038
This commit is contained in:
Kirill Losev
2023-08-09 03:06:18 +03:00
committed by Kir
parent ca52349111
commit 4c86566f82
2 changed files with 17 additions and 0 deletions
+4
View File
@@ -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__())
+13
View File
@@ -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.'})