diff options
author | Zuul <zuul@review.opendev.org> | 2022-08-10 07:05:22 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-08-10 07:05:22 +0000 |
commit | f3c29e8bceea832e1cb787740fa676b10a410848 (patch) | |
tree | d8f2db7dc5a06ee9638726573885d02abd5752dd | |
parent | 7f87a8fa4ff6283c83a5ddc2afd2a74204a90f8c (diff) | |
parent | fe387ae91be85391005dafcdcc92f5a3f01bff62 (diff) | |
download | designate-f3c29e8bceea832e1cb787740fa676b10a410848.tar.gz |
Merge "Fixed issues with __repr__ and __str__ on objects"
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"' ) |