summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/plugins/dns.py7
-rw-r--r--ipatests/test_xmlrpc/test_dns_plugin.py6
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': []},
},