summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Olof Gunnar Andersson <eandersson@blizzard.com>2022-07-18 21:15:25 -0700
committerErik Olof Gunnar Andersson <eandersson@blizzard.com>2022-08-07 17:28:38 +0000
commitfe387ae91be85391005dafcdcc92f5a3f01bff62 (patch)
tree056f0f857ecbe9b109e3160e87947af299b281aa
parent8beccabe4eb78f7da60748cec84df66946d423e7 (diff)
downloaddesignate-fe387ae91be85391005dafcdcc92f5a3f01bff62.tar.gz
Fixed issues with __repr__ and __str__ on objects
We are currently override __repr__ in our base VersionedObject and removing some useful information when debugging. - Re-wrote __str__ to not raise an exception if data is missing. - Removed some unused _to_string functions. - Changed _from_string to from_string. Change-Id: Idfd6c959cf943c5aaf95746f16070000bf82ca21
-rw-r--r--designate/objects/base.py32
-rw-r--r--designate/objects/record.py8
-rwxr-xr-xdesignate/objects/recordset.py6
-rw-r--r--designate/objects/rrdata_a.py5
-rw-r--r--designate/objects/rrdata_aaaa.py5
-rw-r--r--designate/objects/rrdata_caa.py7
-rw-r--r--designate/objects/rrdata_cert.py7
-rw-r--r--designate/objects/rrdata_cname.py5
-rw-r--r--designate/objects/rrdata_mx.py5
-rw-r--r--designate/objects/rrdata_naptr.py10
-rw-r--r--designate/objects/rrdata_ns.py5
-rw-r--r--designate/objects/rrdata_ptr.py5
-rw-r--r--designate/objects/rrdata_soa.py10
-rw-r--r--designate/objects/rrdata_spf.py5
-rw-r--r--designate/objects/rrdata_srv.py5
-rw-r--r--designate/objects/rrdata_sshfp.py5
-rw-r--r--designate/objects/rrdata_txt.py5
-rw-r--r--designate/tests/unit/objects/test_base.py34
-rw-r--r--designate/tests/unit/objects/test_recordset.py12
-rw-r--r--designate/tests/unit/objects/test_rrdata_a.py13
-rw-r--r--designate/tests/unit/objects/test_rrdata_caa.py28
-rw-r--r--designate/tests/unit/objects/test_rrdata_cert.py12
-rw-r--r--designate/tests/unit/objects/test_rrdata_mx.py2
-rw-r--r--designate/tests/unit/objects/test_rrdata_naptr.py2
-rw-r--r--designate/tests/unit/objects/test_rrdata_sshfp.py2
-rw-r--r--designate/tests/unit/objects/test_rrdata_txt.py4
26 files changed, 127 insertions, 112 deletions
diff --git a/designate/objects/base.py b/designate/objects/base.py
index 4a7c5927..876cd95e 100644
--- a/designate/objects/base.py
+++ b/designate/objects/base.py
@@ -12,6 +12,7 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+
from oslo_log import log as logging
from oslo_utils import excutils
from oslo_versionedobjects import base
@@ -19,11 +20,10 @@ from oslo_versionedobjects.base import VersionedObjectDictCompat as DictObjectMi
from oslo_versionedobjects import exception
from oslo_versionedobjects import fields as ovoo_fields
-
from designate import exceptions
-from designate.i18n import _
from designate.objects import fields
+
LOG = logging.getLogger(__name__)
@@ -54,16 +54,15 @@ class DesignateObject(base.VersionedObject):
self.FIELDS = self.fields
@classmethod
- def _make_obj_str(cls, keys):
- msg = "<%(name)s" % {'name': cls.obj_name()}
- for key in keys:
- msg += " {0}:'%({0})s'".format(key)
+ def _make_obj_str(cls, data):
+ msg = "<%s" % cls.obj_name()
+ for key in cls.STRING_KEYS:
+ msg += " %s:'%s'" % (key, data.get(key))
msg += ">"
return msg
- def __str__(self):
- return (self._make_obj_str(self.STRING_KEYS)
- % self)
+ def __repr__(self):
+ return self._make_obj_str(self.to_dict())
def save(self, context):
pass
@@ -153,9 +152,6 @@ class DesignateObject(base.VersionedObject):
def __ne__(self, other):
return not (self.__eq__(other))
- def __repr__(self):
- return "OVO Objects"
-
# TODO(daidv): all of bellow functions should
# be removed when we completed migration.
def nested_sort(self, key, value):
@@ -360,11 +356,13 @@ class ListObjectMixin(base.ObjectListBase):
return list_
- def __str__(self):
- return (_("<%(type)s count:'%(count)s' object:'%(list_type)s'>")
- % {'count': len(self),
- 'type': self.LIST_ITEM_TYPE.obj_name(),
- 'list_type': self.obj_name()})
+ def __repr__(self):
+ return ("<%(type)s count:'%(count)s' object:'%(list_type)s'>" %
+ {
+ 'type': self.LIST_ITEM_TYPE.obj_name(),
+ 'count': len(self),
+ 'list_type': self.obj_name()
+ })
def __iter__(self):
"""List iterator interface"""
diff --git a/designate/objects/record.py b/designate/objects/record.py
index 6c9698ff..9e727424 100644
--- a/designate/objects/record.py
+++ b/designate/objects/record.py
@@ -66,11 +66,11 @@ class Record(base.DesignateObject, base.PersistentObjectMixin,
'id', 'recordset_id', 'data'
]
- def __str__(self):
+ def __repr__(self):
record = self.to_dict()
- record['data'] = record['data'][:35]
- return (self._make_obj_str(self.STRING_KEYS)
- % record)
+ if 'data' in record:
+ record['data'] = record['data'][:35]
+ return self._make_obj_str(record)
@base.DesignateRegistry.register
diff --git a/designate/objects/recordset.py b/designate/objects/recordset.py
index e2f1ffbc..1f5d7feb 100755
--- a/designate/objects/recordset.py
+++ b/designate/objects/recordset.py
@@ -151,11 +151,11 @@ class RecordSet(base.DesignateObject, base.DictObjectMixin,
for record in old_records:
record_obj = record_cls()
try:
- record_obj._from_string(record.data)
- # The _from_string() method will throw a ValueError if there is not
+ record_obj.from_string(record.data)
+ # The from_string() method will throw a ValueError if there is not
# enough data blobs
except ValueError as e:
- # Something broke in the _from_string() method
+ # Something broke in the from_string() method
# Fake a correct looking ValidationError() object
e = ValidationError()
e.path = ['records', i]
diff --git a/designate/objects/rrdata_a.py b/designate/objects/rrdata_a.py
index bbe298e0..d34bd029 100644
--- a/designate/objects/rrdata_a.py
+++ b/designate/objects/rrdata_a.py
@@ -28,10 +28,7 @@ class A(Record):
'address': fields.IPV4AddressField()
}
- def _to_string(self):
- return self.address
-
- def _from_string(self, value):
+ def from_string(self, value):
self.address = value
# The record type is defined in the RFC. This will be used when the record
diff --git a/designate/objects/rrdata_aaaa.py b/designate/objects/rrdata_aaaa.py
index b2073907..f3127231 100644
--- a/designate/objects/rrdata_aaaa.py
+++ b/designate/objects/rrdata_aaaa.py
@@ -28,10 +28,7 @@ class AAAA(Record):
'address': fields.IPV6AddressField()
}
- def _to_string(self):
- return self.address
-
- def _from_string(self, value):
+ def from_string(self, value):
self.address = value
# The record type is defined in the RFC. This will be used when the record
diff --git a/designate/objects/rrdata_caa.py b/designate/objects/rrdata_caa.py
index 4b141b78..f5294b29 100644
--- a/designate/objects/rrdata_caa.py
+++ b/designate/objects/rrdata_caa.py
@@ -30,11 +30,8 @@ class CAA(Record):
'prpt': fields.CaaPropertyField()
}
- def _to_string(self):
- return ("%(flag)s %(prpt)s" % self)
-
- def _from_string(self, v):
- flags, prpt = v.split(' ', 1)
+ def from_string(self, value):
+ flags, prpt = value.split(' ', 1)
self.flags = int(flags)
self.prpt = prpt
diff --git a/designate/objects/rrdata_cert.py b/designate/objects/rrdata_cert.py
index d0b27ed9..e9f9f05c 100644
--- a/designate/objects/rrdata_cert.py
+++ b/designate/objects/rrdata_cert.py
@@ -92,11 +92,8 @@ class CERT(Record):
raise ValueError('Cert certificate is not valid.')
return certificate
- def _to_string(self):
- return '%(cert_type)s %(key_tag)s %(cert_algo)s %(certificate)s' % self
-
- def _from_string(self, v):
- cert_type, key_tag, cert_algo, certificate = v.split(' ', 3)
+ def from_string(self, value):
+ cert_type, key_tag, cert_algo, certificate = value.split(' ', 3)
self.cert_type = self.validate_cert_type(cert_type)
self.key_tag = int(key_tag)
diff --git a/designate/objects/rrdata_cname.py b/designate/objects/rrdata_cname.py
index b876585a..8123babc 100644
--- a/designate/objects/rrdata_cname.py
+++ b/designate/objects/rrdata_cname.py
@@ -28,10 +28,7 @@ class CNAME(Record):
'cname': fields.DomainField(maxLength=255)
}
- def _to_string(self):
- return self.cname
-
- def _from_string(self, value):
+ def from_string(self, value):
self.cname = value
# The record type is defined in the RFC. This will be used when the record
diff --git a/designate/objects/rrdata_mx.py b/designate/objects/rrdata_mx.py
index caf6dedb..7d924358 100644
--- a/designate/objects/rrdata_mx.py
+++ b/designate/objects/rrdata_mx.py
@@ -29,10 +29,7 @@ class MX(Record):
'exchange': fields.StringFields(maxLength=255),
}
- def _to_string(self):
- return '%(priority)s %(exchange)s' % self
-
- def _from_string(self, value):
+ def from_string(self, value):
priority, exchange = value.split(' ')
if repr(int(priority)) != priority:
diff --git a/designate/objects/rrdata_naptr.py b/designate/objects/rrdata_naptr.py
index cbc22231..ff6485e1 100644
--- a/designate/objects/rrdata_naptr.py
+++ b/designate/objects/rrdata_naptr.py
@@ -35,12 +35,10 @@ class NAPTR(Record):
'replacement': fields.DomainField(maxLength=255)
}
- def _to_string(self):
- return ("%(order)s %(preference)s %(flags)s %(service)s %(regexp)s "
- "%(replacement)s" % self)
-
- def _from_string(self, v):
- order, preference, flags, service, regexp, replacement = v.split(' ')
+ def from_string(self, value):
+ order, preference, flags, service, regexp, replacement = (
+ value.split(' ')
+ )
self.order = int(order)
self.preference = int(preference)
self.flags = flags
diff --git a/designate/objects/rrdata_ns.py b/designate/objects/rrdata_ns.py
index a411d218..d3cd2720 100644
--- a/designate/objects/rrdata_ns.py
+++ b/designate/objects/rrdata_ns.py
@@ -34,10 +34,7 @@ class NS(Record):
'name': fields.DomainField(),
}
- def _to_string(self):
- return self.nsdname
-
- def _from_string(self, value):
+ def from_string(self, value):
self.nsdname = value
# The record type is defined in the RFC. This will be used when the record
diff --git a/designate/objects/rrdata_ptr.py b/designate/objects/rrdata_ptr.py
index a3ae7e31..bb2564a4 100644
--- a/designate/objects/rrdata_ptr.py
+++ b/designate/objects/rrdata_ptr.py
@@ -28,10 +28,7 @@ class PTR(Record):
'ptrdname': fields.DomainField(maxLength=255)
}
- def _to_string(self):
- return self.ptrdname
-
- def _from_string(self, value):
+ def from_string(self, value):
self.ptrdname = value
# The record type is defined in the RFC. This will be used when the record
diff --git a/designate/objects/rrdata_soa.py b/designate/objects/rrdata_soa.py
index 72809b49..8bfe2c18 100644
--- a/designate/objects/rrdata_soa.py
+++ b/designate/objects/rrdata_soa.py
@@ -35,12 +35,10 @@ class SOA(Record):
'minimum': fields.IntegerFields(minimum=0, maximum=2147483647)
}
- def _to_string(self):
- return ("%(mname)s %(rname)s %(serial)s %(refresh)s %(retry)s "
- "%(expire)s %(minimum)s" % self)
-
- def _from_string(self, v):
- mname, rname, serial, refresh, retry, expire, minimum = v.split(' ')
+ def from_string(self, value):
+ mname, rname, serial, refresh, retry, expire, minimum = (
+ value.split(' ')
+ )
self.mname = mname
self.rname = rname
self.serial = int(serial)
diff --git a/designate/objects/rrdata_spf.py b/designate/objects/rrdata_spf.py
index f409991d..9755ef6a 100644
--- a/designate/objects/rrdata_spf.py
+++ b/designate/objects/rrdata_spf.py
@@ -28,10 +28,7 @@ class SPF(Record):
'txt_data': fields.StringFields()
}
- def _to_string(self):
- return self.txt_data
-
- def _from_string(self, value):
+ def from_string(self, value):
if not value.startswith('"') and not value.endswith('"'):
# value with spaces should be quoted as per RFC1035 5.1
for element in value:
diff --git a/designate/objects/rrdata_srv.py b/designate/objects/rrdata_srv.py
index 5a2d638b..4ecbcc64 100644
--- a/designate/objects/rrdata_srv.py
+++ b/designate/objects/rrdata_srv.py
@@ -37,10 +37,7 @@ class SRV(Record):
'name': fields.SRVField(maxLength=255, nullable=True)
}
- def _to_string(self):
- return "%(priority)s %(weight)s %(target)s %(port)s" % self
-
- def _from_string(self, value):
+ def from_string(self, value):
priority, weight, port, target = value.split(' ')
self.priority = int(priority)
self.weight = int(weight)
diff --git a/designate/objects/rrdata_sshfp.py b/designate/objects/rrdata_sshfp.py
index 2ab6bc69..2fe4078f 100644
--- a/designate/objects/rrdata_sshfp.py
+++ b/designate/objects/rrdata_sshfp.py
@@ -30,10 +30,7 @@ class SSHFP(Record):
'fingerprint': fields.Sshfp(nullable=True),
}
- def _to_string(self):
- return "%(algorithm)s %(fp_type)s %(fingerprint)s" % self
-
- def _from_string(self, value):
+ def from_string(self, value):
algorithm, fp_type, fingerprint = value.split(' ')
for value in {algorithm, fp_type}:
diff --git a/designate/objects/rrdata_txt.py b/designate/objects/rrdata_txt.py
index 654094ef..736ffc35 100644
--- a/designate/objects/rrdata_txt.py
+++ b/designate/objects/rrdata_txt.py
@@ -28,9 +28,6 @@ class TXT(Record):
'txt_data': fields.TxtField()
}
- def _to_string(self):
- return self.txt_data
-
@staticmethod
def _is_wrapped_in_double_quotes(value):
return value.startswith('"') and value.endswith('"')
@@ -71,7 +68,7 @@ class TXT(Record):
'Quotation marks should be escaped with backslash.'
)
- def _from_string(self, value):
+ def from_string(self, value):
if len(value) > 255:
# expecting record containing multiple strings as
# per rfc7208 3.3 and rfc1035 3.3.14
diff --git a/designate/tests/unit/objects/test_base.py b/designate/tests/unit/objects/test_base.py
index b6d8079e..26b05094 100644
--- a/designate/tests/unit/objects/test_base.py
+++ b/designate/tests/unit/objects/test_base.py
@@ -39,6 +39,10 @@ class TestObject(objects.DesignateObject):
'nested_list': fields.ObjectFields('TestObjectList', nullable=True),
}
+ STRING_KEYS = [
+ 'id', 'name'
+ ]
+
@base.DesignateRegistry.register
class TestObjectDict(TestObject, objects.DictObjectMixin):
@@ -64,6 +68,36 @@ class TestValidatableObject(objects.DesignateObject):
class DesignateObjectTest(oslotest.base.BaseTestCase):
+ def test_obj_to_repr(self):
+ obj = TestObject.from_dict({
+ 'id': 1, 'name': 'example'
+ })
+ self.assertEqual(
+ "<TestObject id:'1' name:'example'>",
+ repr(obj)
+ )
+
+ def test_obj_to_str(self):
+ obj = TestObject.from_dict({
+ 'id': 1, 'name': 'example'
+ })
+ self.assertEqual(
+ "<TestObject id:'1' name:'example'>", str(obj)
+ )
+
+ def test_empty_obj_to_str(self):
+ self.assertEqual(
+ "<TestObject id:'None' name:'None'>", str(TestObject())
+ )
+
+ def test_record_to_str(self):
+ obj = objects.Record.from_dict({
+ 'id': 1, 'recordset_id': '2', 'data': 'example'
+ })
+ self.assertEqual(
+ "<Record id:'1' recordset_id:'2' data:'example'>", str(obj)
+ )
+
def test_obj_cls_from_name(self):
cls = objects.DesignateObject.obj_cls_from_name('TestObject')
self.assertEqual(TestObject, cls)
diff --git a/designate/tests/unit/objects/test_recordset.py b/designate/tests/unit/objects/test_recordset.py
index 634221bf..4786801d 100644
--- a/designate/tests/unit/objects/test_recordset.py
+++ b/designate/tests/unit/objects/test_recordset.py
@@ -28,6 +28,8 @@ LOG = logging.getLogger(__name__)
def create_test_recordset():
record_set = objects.RecordSet(
+ id='f6a2cbd6-7f9a-4e0c-a00d-98a02aa73fc8',
+ zone_id='74038683-cab1-4056-bdf8-b39bd155ff21',
name='www.example.org.',
type='A',
records=objects.RecordList(objects=[
@@ -39,12 +41,20 @@ def create_test_recordset():
class RecordSetTest(oslotest.base.BaseTestCase):
-
def test_init(self):
record_set = create_test_recordset()
self.assertEqual('www.example.org.', record_set.name)
self.assertEqual('A', record_set.type)
+ def test_to_repr(self):
+ record_set = create_test_recordset()
+ self.assertEqual(
+ "<RecordSet id:'f6a2cbd6-7f9a-4e0c-a00d-98a02aa73fc8' type:'A' "
+ "name:'www.example.org.' "
+ "zone_id:'74038683-cab1-4056-bdf8-b39bd155ff21'>",
+ repr(record_set)
+ )
+
def test_not_managed(self):
record_set = create_test_recordset()
self.assertFalse(record_set.managed)
diff --git a/designate/tests/unit/objects/test_rrdata_a.py b/designate/tests/unit/objects/test_rrdata_a.py
index 1a03ffba..b8407115 100644
--- a/designate/tests/unit/objects/test_rrdata_a.py
+++ b/designate/tests/unit/objects/test_rrdata_a.py
@@ -23,6 +23,19 @@ LOG = logging.getLogger(__name__)
class RRDataATest(oslotest.base.BaseTestCase):
+ def test_to_repr(self):
+ recordset = objects.RecordSet(
+ name='www.example.test.', type='A',
+ records=objects.RecordList(objects=[
+ objects.Record(data='192.168.0.1'),
+ ])
+ )
+ recordset.validate()
+ self.assertEqual(
+ "<Record id:'None' recordset_id:'None' data:'192.168.0.1'>",
+ repr(recordset.records[0])
+ )
+
def test_valid_a_record(self):
recordset = objects.RecordSet(
name='www.example.test.', type='A',
diff --git a/designate/tests/unit/objects/test_rrdata_caa.py b/designate/tests/unit/objects/test_rrdata_caa.py
index 9c93979d..24643b70 100644
--- a/designate/tests/unit/objects/test_rrdata_caa.py
+++ b/designate/tests/unit/objects/test_rrdata_caa.py
@@ -24,14 +24,14 @@ LOG = logging.getLogger(__name__)
class RRDataCAATest(oslotest.base.BaseTestCase):
def test_parse_caa_issue(self):
caa_record = objects.CAA()
- caa_record._from_string('0 issue ca.example.net')
+ caa_record.from_string('0 issue ca.example.net')
self.assertEqual(0, caa_record.flags)
self.assertEqual('issue ca.example.net', caa_record.prpt)
def test_parse_caa_issuewild(self):
caa_record = objects.CAA()
- caa_record._from_string('1 issuewild ca.example.net; policy=ev')
+ caa_record.from_string('1 issuewild ca.example.net; policy=ev')
self.assertEqual(1, caa_record.flags)
self.assertEqual('issuewild ca.example.net; policy=ev',
@@ -39,19 +39,19 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
def test_parse_caa_iodef(self):
caa_record = objects.CAA()
- caa_record._from_string('0 iodef https://example.net/')
+ caa_record.from_string('0 iodef https://example.net/')
self.assertEqual(0, caa_record.flags)
self.assertEqual('iodef https://example.net/', caa_record.prpt)
caa_record = objects.CAA()
- caa_record._from_string('0 iodef mailto:security@example.net')
+ caa_record.from_string('0 iodef mailto:security@example.net')
self.assertEqual(0, caa_record.flags)
self.assertEqual('iodef mailto:security@example.net', caa_record.prpt)
caa_record = objects.CAA()
- caa_record._from_string('0 iodef mailto:security+caa@example.net')
+ caa_record.from_string('0 iodef mailto:security+caa@example.net')
self.assertEqual(0, caa_record.flags)
self.assertEqual('iodef mailto:security+caa@example.net',
@@ -62,7 +62,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
"Property tag 1 2 must be 'issue', 'issuewild' or 'iodef'",
- caa_record._from_string, '0 1 2'
+ caa_record.from_string, '0 1 2'
)
def test_parse_caa_issue_host_too_long(self):
@@ -72,7 +72,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
ValueError,
'Host aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
'aaaaaaaaaa is too long',
- caa_record._from_string, '0 issue %s.net' % hostname
+ caa_record.from_string, '0 issue %s.net' % hostname
)
def test_parse_caa_issue_domain_not_valid(self):
@@ -80,7 +80,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Domain abc. is invalid',
- caa_record._from_string, '0 issue abc.'
+ caa_record.from_string, '0 issue abc.'
)
def test_parse_caa_issue_key_value_not_valid(self):
@@ -88,7 +88,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'def is not a valid key-value pair',
- caa_record._from_string, '0 issue abc;def'
+ caa_record.from_string, '0 issue abc;def'
)
def test_parse_caa_iodef_mail_host_too_long(self):
@@ -98,7 +98,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
ValueError,
'Host aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
'aaaaaaaaaa is too long',
- caa_record._from_string, '0 iodef mailto:me@%s.net' % hostname
+ caa_record.from_string, '0 iodef mailto:me@%s.net' % hostname
)
def test_parse_caa_iodef_mail_domain_not_valid(self):
@@ -106,7 +106,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Domain example.net. is invalid',
- caa_record._from_string, '0 iodef mailto:me@example.net.'
+ caa_record.from_string, '0 iodef mailto:me@example.net.'
)
def test_parse_caa_iodef_http_host_too_long(self):
@@ -116,7 +116,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
ValueError,
'Host aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
'aaaaaaaaaa is too long',
- caa_record._from_string, '0 iodef https://%s.net/' % hostname
+ caa_record.from_string, '0 iodef https://%s.net/' % hostname
)
def test_parse_caa_iodef_http_domain_not_valid(self):
@@ -124,7 +124,7 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Domain example.net. is invalid',
- caa_record._from_string, '0 iodef https://example.net./'
+ caa_record.from_string, '0 iodef https://example.net./'
)
def test_parse_caa_iodef_not_valid_url(self):
@@ -132,5 +132,5 @@ class RRDataCAATest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'https:// is not a valid URL',
- caa_record._from_string, '0 iodef https://'
+ caa_record.from_string, '0 iodef https://'
)
diff --git a/designate/tests/unit/objects/test_rrdata_cert.py b/designate/tests/unit/objects/test_rrdata_cert.py
index 030c5bd6..b6598679 100644
--- a/designate/tests/unit/objects/test_rrdata_cert.py
+++ b/designate/tests/unit/objects/test_rrdata_cert.py
@@ -25,7 +25,7 @@ LOG = logging.getLogger(__name__)
class RRDataCERTTest(oslotest.base.BaseTestCase):
def test_parse_cert(self):
cert_record = objects.CERT()
- cert_record._from_string(
+ cert_record.from_string(
'DPKIX 1 RSASHA256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc='
)
@@ -42,7 +42,7 @@ class RRDataCERTTest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Cert type value should be between 0 and 65535',
- cert_record._from_string,
+ cert_record.from_string,
'99999 1 RSASHA256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc='
)
@@ -51,7 +51,7 @@ class RRDataCERTTest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Cert type is not valid Mnemonic.',
- cert_record._from_string,
+ cert_record.from_string,
'FAKETYPE 1 RSASHA256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc='
)
@@ -60,7 +60,7 @@ class RRDataCERTTest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Cert algorithm value should be between 0 and 255',
- cert_record._from_string,
+ cert_record.from_string,
'DPKIX 1 256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc='
)
@@ -69,7 +69,7 @@ class RRDataCERTTest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Cert algorithm is not valid Mnemonic.',
- cert_record._from_string,
+ cert_record.from_string,
'DPKIX 1 FAKESHA256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc='
)
@@ -78,6 +78,6 @@ class RRDataCERTTest(oslotest.base.BaseTestCase):
self.assertRaisesRegex(
ValueError,
'Cert certificate is not valid.',
- cert_record._from_string,
+ cert_record.from_string,
'DPKIX 1 RSASHA256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc'
)
diff --git a/designate/tests/unit/objects/test_rrdata_mx.py b/designate/tests/unit/objects/test_rrdata_mx.py
index d5b70823..1344bf26 100644
--- a/designate/tests/unit/objects/test_rrdata_mx.py
+++ b/designate/tests/unit/objects/test_rrdata_mx.py
@@ -25,7 +25,7 @@ LOG = logging.getLogger(__name__)
class RRDataMXTest(oslotest.base.BaseTestCase):
def test_parse_mx(self):
mx_record = objects.MX()
- mx_record._from_string('0 mail.example.org.')
+ mx_record.from_string('0 mail.example.org.')
self.assertEqual(0, mx_record.priority)
self.assertEqual('mail.example.org.', mx_record.exchange)
diff --git a/designate/tests/unit/objects/test_rrdata_naptr.py b/designate/tests/unit/objects/test_rrdata_naptr.py
index 81223a20..4759ca3d 100644
--- a/designate/tests/unit/objects/test_rrdata_naptr.py
+++ b/designate/tests/unit/objects/test_rrdata_naptr.py
@@ -24,7 +24,7 @@ LOG = logging.getLogger(__name__)
class RRDataNAPTRTest(oslotest.base.BaseTestCase):
def test_parse_naptr(self):
naptr_record = objects.NAPTR()
- naptr_record._from_string(
+ naptr_record.from_string(
'0 0 S SIP+D2U !^.*$!sip:customer-service@example.com! _sip._udp.example.com.') # noqa
self.assertEqual(0, naptr_record.order)
diff --git a/designate/tests/unit/objects/test_rrdata_sshfp.py b/designate/tests/unit/objects/test_rrdata_sshfp.py
index eee2da6f..10a4fe0e 100644
--- a/designate/tests/unit/objects/test_rrdata_sshfp.py
+++ b/designate/tests/unit/objects/test_rrdata_sshfp.py
@@ -25,7 +25,7 @@ LOG = logging.getLogger(__name__)
class RRDataSSHTPTest(oslotest.base.BaseTestCase):
def test_parse_sshfp(self):
sshfp_record = objects.SSHFP()
- sshfp_record._from_string(
+ sshfp_record.from_string(
'0 0 72d30d211ce8c464de2811e534de23b9be9b4dc4')
self.assertEqual(0, sshfp_record.algorithm)
diff --git a/designate/tests/unit/objects/test_rrdata_txt.py b/designate/tests/unit/objects/test_rrdata_txt.py
index 55742664..76edfe6d 100644
--- a/designate/tests/unit/objects/test_rrdata_txt.py
+++ b/designate/tests/unit/objects/test_rrdata_txt.py
@@ -66,13 +66,13 @@ class RRDataTXTTest(oslotest.base.BaseTestCase):
ValueError,
"TXT record is missing a double quote either at beginning "
"or at end.",
- record._from_string,
+ record.from_string,
'"foo'
)
self.assertRaisesRegex(
ValueError,
"TXT record is missing a double quote either at beginning "
"or at end.",
- record._from_string,
+ record.from_string,
'foo"'
)