diff options
-rw-r--r-- | ipalib/plugins/dns.py | 7 | ||||
-rw-r--r-- | ipatests/test_xmlrpc/test_dns_plugin.py | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py index fdcccb0b7..dae57e6c3 100644 --- a/ipalib/plugins/dns.py +++ b/ipalib/plugins/dns.py @@ -3374,6 +3374,13 @@ class dnsrecord_mod(LDAPUpdate): if del_all: result = self.obj.methods.delentry(*keys, version=options['version']) + + # we need to modify delete result to match mod output type + # only one value is expected, not a list + if client_has_capability(options['version'], 'primary_key_types'): + assert len(result['value']) == 1 + result['value'] = result['value'][0] + # indicate that entry was deleted context.dnsrecord_entry_mods[(keys[0], keys[1])] = None diff --git a/ipatests/test_xmlrpc/test_dns_plugin.py b/ipatests/test_xmlrpc/test_dns_plugin.py index 50b4d2ec7..1cfbbdb9e 100644 --- a/ipatests/test_xmlrpc/test_dns_plugin.py +++ b/ipatests/test_xmlrpc/test_dns_plugin.py @@ -1378,10 +1378,10 @@ class test_dns(Declarative): dict( - desc='Delete record %r in zone %r' % (tlsa, zone1), - command=('dnsrecord_del', [zone1, tlsa], {'del_all': True}), + desc='Remove record using dnsrecord-mod %r in zone %r' % (tlsa, zone1), + command=('dnsrecord_mod', [zone1, tlsa], {'tlsarecord': ''}), expected={ - 'value': [tlsa_dnsname], + 'value': tlsa_dnsname, 'summary': u'Deleted record "%s"' % tlsa, 'result': {'failed': []}, }, |