mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Tests: DNS dsrecord validation
Part of: https://fedorahosted.org/freeipa/ticket/3801 Reviewed-By: Petr Spacek <pspacek@redhat.com> Reviewed-By: Martin Kosek <mkosek@redhat.com>
This commit is contained in:
parent
734883282e
commit
2863fc94b2
@ -147,6 +147,12 @@ dlv_dn = DN(('idnsname', dlv), zone1_dn)
|
||||
|
||||
dlvrec = u'60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292118'
|
||||
|
||||
ds = u'ds'
|
||||
ds_dnsname = DNSName(ds)
|
||||
ds_dn = DN(('idnsname', ds), zone1_dn)
|
||||
|
||||
ds_rec = u'0 0 0 00'
|
||||
|
||||
tlsa = u'tlsa'
|
||||
tlsa_dnsname = DNSName(tlsa)
|
||||
tlsa_dn = DN(('idnsname', tlsa), zone1_dn)
|
||||
@ -1320,6 +1326,83 @@ class test_dns(Declarative):
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Try to add DS record to zone %r apex, using dnsrecord_add' % (zone1),
|
||||
command=('dnsrecord_add', [zone1, zone1_absolute], {'dsrecord': ds_rec}),
|
||||
expected=errors.ValidationError(
|
||||
name="dsrecord",
|
||||
error=u'DS record must not be in zone apex (RFC 4035 section 2.4)'
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Try to add DS record %r without NS record in RRset, using dnsrecord_add' % (ds),
|
||||
command=('dnsrecord_add', [zone1, ds], {'dsrecord': ds_rec}),
|
||||
expected=errors.ValidationError(
|
||||
name="dsrecord",
|
||||
error=u'DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC 4035 section 2.4)'
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Add NS record to %r using dnsrecord_add' % (ds),
|
||||
command=('dnsrecord_add', [zone1, ds],
|
||||
{'nsrecord': zone1_ns}),
|
||||
expected={
|
||||
'value': ds_dnsname,
|
||||
'summary': None,
|
||||
'result': {
|
||||
'objectclass': objectclasses.dnsrecord,
|
||||
'dn': ds_dn,
|
||||
'idnsname': [ds_dnsname],
|
||||
'nsrecord': [zone1_ns],
|
||||
},
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Add DS record to %r using dnsrecord_add' % (ds),
|
||||
command=('dnsrecord_add', [zone1, ds],
|
||||
{'dsrecord': ds_rec}),
|
||||
expected={
|
||||
'value': ds_dnsname,
|
||||
'summary': None,
|
||||
'result': {
|
||||
'objectclass': objectclasses.dnsrecord,
|
||||
'dn': ds_dn,
|
||||
'idnsname': [ds_dnsname],
|
||||
'nsrecord': [zone1_ns],
|
||||
'dsrecord': [ds_rec],
|
||||
},
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Try to delete NS record (with DS record) %r using dnsrecord_del' % (ds),
|
||||
command=('dnsrecord_del', [zone1, ds],
|
||||
{'nsrecord': zone1_ns}),
|
||||
expected=errors.ValidationError(
|
||||
name="dsrecord",
|
||||
error=u'DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC 4035 section 2.4)'
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Delete NS+DS record %r in zone %r' % (ds, zone1),
|
||||
command=('dnsrecord_del', [zone1, ds], {'nsrecord': zone1_ns, 'dsrecord': ds_rec}),
|
||||
expected={
|
||||
'value': [ds_dnsname],
|
||||
'summary': u'Deleted record "%s"' % ds,
|
||||
'result': {'failed': []},
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Delete record %r in zone %r' % (dlv, zone1),
|
||||
command=('dnsrecord_del', [zone1, dlv], {'del_all': True}),
|
||||
|
Loading…
Reference in New Issue
Block a user