Test: DNS NS validation

Reviewed-By: Petr Spacek <pspacek@redhat.com>
Reviewed-By: Martin Kosek <mkosek@redhat.com>
This commit is contained in:
Martin Basti 2014-08-21 18:09:22 +02:00 committed by Martin Kosek
parent f605fe8614
commit c7dc1b508c

View File

@ -123,6 +123,10 @@ name1_dn = DN(('idnsname',name1), zone1_dn)
name1_renamed = u'testdnsres-renamed' name1_renamed = u'testdnsres-renamed'
name1_renamed_dnsname = DNSName(name1_renamed) name1_renamed_dnsname = DNSName(name1_renamed)
name_ns = u'testdnsres-ns'
name_ns_dnsname = DNSName(name_ns)
name_ns_dn = DN(('idnsname',name_ns), zone1_dn)
revname1 = u'80' revname1 = u'80'
revname1_dnsname = DNSName(revname1) revname1_dnsname = DNSName(revname1)
revname1_ip = revzone1_ipprefix + revname1 revname1_ip = revzone1_ipprefix + revname1
@ -1166,9 +1170,10 @@ class test_dns(Declarative):
desc='Try to add NS record to %r using dnsrecord_add' % (dname), desc='Try to add NS record to %r using dnsrecord_add' % (dname),
command=('dnsrecord_add', [zone1, dname], command=('dnsrecord_add', [zone1, dname],
{'nsrecord': u'%s.%s.' % (name1, zone1)}), {'nsrecord': u'%s.%s.' % (name1, zone1)}),
expected=errors.ValidationError(name='dnamerecord', expected=errors.ValidationError(name='nsrecord',
error=u'DNAME record is not allowed to coexist with an NS ' error=u'NS record is not allowed to coexist with an DNAME '
u'record except when located in a zone root record (RFC 6672, section 2.3)'), u'record except when located in a zone root record '
'(RFC 2181, section 6.1'),
), ),
dict( dict(
@ -1243,32 +1248,29 @@ class test_dns(Declarative):
dict( dict(
desc='Try to add unresolvable absolute NS record to %r using dnsrecord_add' % (name1), desc='Try to add unresolvable absolute NS record to %r using dnsrecord_add' % (name_ns),
command=('dnsrecord_add', [zone1, name1], {'nsrecord': absnxname}), command=('dnsrecord_add', [zone1, name_ns], {'nsrecord': absnxname}),
expected=errors.NotFound(reason=u"Nameserver '%s' does not have a corresponding A/AAAA record" % absnxname), expected=errors.NotFound(reason=u"Nameserver '%s' does not have a corresponding A/AAAA record" % absnxname),
), ),
dict( dict(
desc='Try to add unresolvable relative NS record to %r using dnsrecord_add' % (name1), desc='Try to add unresolvable relative NS record to %r using dnsrecord_add' % (name_ns),
command=('dnsrecord_add', [zone1, name1], {'nsrecord': relnxname}), command=('dnsrecord_add', [zone1, name_ns], {'nsrecord': relnxname}),
expected=errors.NotFound(reason=u"Nameserver '%s.%s.' does not " expected=errors.NotFound(reason=u"Nameserver '%s.%s.' does not "
"have a corresponding A/AAAA record" % (relnxname, zone1)), "have a corresponding A/AAAA record" % (relnxname, zone1)),
), ),
dict( dict(
desc='Add unresolvable NS record with --force to %r using dnsrecord_add' % (name1), desc='Add unresolvable NS record with --force to %r using dnsrecord_add' % (name_ns),
command=('dnsrecord_add', [zone1, name1], {'nsrecord': absnxname, command=('dnsrecord_add', [zone1, name_ns], {'nsrecord': absnxname,
'force' : True}), 'force' : True}),
expected={ expected={
'value': name1_dnsname, 'value': name_ns_dnsname,
'summary': None, 'summary': None,
'result': { 'result': {
'objectclass': objectclasses.dnsrecord, 'objectclass': objectclasses.dnsrecord,
'dn': name1_dn, 'dn': name_ns_dn,
'idnsname': [name1_dnsname], 'idnsname': [name_ns_dnsname],
'arecord': [arec3],
'kxrecord': [u'1 foo-1'],
'txtrecord': [u'foo bar'],
'nsrecord': [absnxname], 'nsrecord': [absnxname],
}, },
}, },
@ -1292,7 +1294,6 @@ class test_dns(Declarative):
'arecord': [arec3], 'arecord': [arec3],
'kxrecord': [u'1 foo-1'], 'kxrecord': [u'1 foo-1'],
'txtrecord': [u'foo bar'], 'txtrecord': [u'foo bar'],
'nsrecord': [absnxname],
}, },
}, },
), ),