Just tests to avoid regressions in future. Patches attached -- Martin^2 Basti
>From 37a054a8afad4be000dddc090e200d3793cb7947 Mon Sep 17 00:00:00 2001 From: Martin Basti <mba...@redhat.com> Date: Fri, 4 Jul 2014 14:11:58 +0200 Subject: [PATCH 1/3] Test DNS: test zone normalization
--- ipatests/test_xmlrpc/test_dns_plugin.py | 48 ++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/ipatests/test_xmlrpc/test_dns_plugin.py b/ipatests/test_xmlrpc/test_dns_plugin.py index 1f22e24..7b3a014 100644 --- a/ipatests/test_xmlrpc/test_dns_plugin.py +++ b/ipatests/test_xmlrpc/test_dns_plugin.py @@ -73,6 +73,15 @@ zone3_ns2_arec = u'ns2' zone3_ns2_arec_dnsname = DNSName(zone3_ns2_arec) zone3_ns2_arec_dn = DN(('idnsname',zone3_ns2_arec), zone3_dn) +zone4_upper = u'ZONE4.test' +zone4 = u'zone4.test.' +zone4_dnsname = DNSName(zone4) +zone4_dn = DN(('idnsname', zone4), api.env.container_dns, api.env.basedn) +zone4_ns = u'ns1.%s' % zone4 +zone4_ns_dnsname = DNSName(zone4_ns) +zone4_rname = u'root.%s' % zone4 +zone4_rname_dnsname = DNSName(zone4_rname) + revzone1 = u'31.16.172.in-addr.arpa.' revzone1_dnsname = DNSName(revzone1) revzone1_ip = u'172.16.31.0' @@ -259,7 +268,7 @@ class test_dns(Declarative): pass cleanup_commands = [ - ('dnszone_del', [zone1, zone2, zone3, revzone1, revzone2, + ('dnszone_del', [zone1, zone2, zone3, zone4, revzone1, revzone2, revzone3_classless1, revzone3_classless2, idnzone1, revidnzone1, zone_findtest_master], {'continue': True}), @@ -406,6 +415,43 @@ class test_dns(Declarative): dict( + desc='Create a zone with upper case name with --force', + command=( + 'dnszone_add', [zone4_upper], { + 'idnssoamname': zone4_ns, + 'idnssoarname': zone4_rname, + 'force' : True, + } + ), + expected={ + 'value': zone4_dnsname, + 'summary': None, + 'result': { + 'dn': zone4_dn, + 'idnsname': [zone4_dnsname], + 'idnszoneactive': [u'TRUE'], + 'idnssoamname': [zone4_ns_dnsname], + 'nsrecord': [zone4_ns], + 'idnssoarname': [zone4_rname_dnsname], + 'idnssoaserial': [fuzzy_digits], + 'idnssoarefresh': [fuzzy_digits], + 'idnssoaretry': [fuzzy_digits], + 'idnssoaexpire': [fuzzy_digits], + 'idnssoaminimum': [fuzzy_digits], + 'idnsallowdynupdate': [u'FALSE'], + 'idnsupdatepolicy': [u'grant %(realm)s krb5-self * A; ' + u'grant %(realm)s krb5-self * AAAA; ' + u'grant %(realm)s krb5-self * SSHFP;' + % dict(realm=api.env.realm)], + 'idnsallowtransfer': [u'none;'], + 'idnsallowquery': [u'any;'], + 'objectclass': objectclasses.dnszone, + }, + }, + ), + + + dict( desc='Retrieve zone %r' % zone1, command=('dnszone_show', [zone1], {}), expected={ -- 1.8.3.1
>From 462c0ea18f220ee4b27bc1b1d578aedeadb7d02e Mon Sep 17 00:00:00 2001 From: Martin Basti <mba...@redhat.com> Date: Fri, 4 Jul 2014 16:28:17 +0200 Subject: [PATCH 2/3] Test DNS: TLSA record --- ipatests/test_xmlrpc/test_dns_plugin.py | 66 +++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/ipatests/test_xmlrpc/test_dns_plugin.py b/ipatests/test_xmlrpc/test_dns_plugin.py index 7b3a014..abc8449 100644 --- a/ipatests/test_xmlrpc/test_dns_plugin.py +++ b/ipatests/test_xmlrpc/test_dns_plugin.py @@ -139,6 +139,15 @@ dlv_dn = DN(('idnsname', dlv), zone1_dn) dlvrec = u'60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292118' +tlsa = u'tlsa' +tlsa_dnsname = DNSName(tlsa) +tlsa_dn = DN(('idnsname', tlsa), zone1_dn) + +tlsarec_err1 = u'300 0 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971' +tlsarec_err2 = u'0 300 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971' +tlsarec_err3 = u'0 0 300 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971' +tlsarec_ok = u'0 0 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971' + wildcard_rec1 = u'*.test' wildcard_rec1_dnsname = DNSName(wildcard_rec1) wildcard_rec1_dn = DN(('idnsname',wildcard_rec1), zone1_dn) @@ -1278,6 +1287,63 @@ class test_dns(Declarative): dict( + desc='Try to add invalid TLSA record to %r using dnsrecord_add (1)' % (tlsa), + command=('dnsrecord_add', [zone1, tlsa], {'tlsarecord': tlsarec_err1}), + expected=errors.ValidationError( + name="cert_usage", + error=u'can be at most 255' + ), + ), + + + dict( + desc='Try to add invalid TLSA record to %r using dnsrecord_add (2)' % (tlsa), + command=('dnsrecord_add', [zone1, tlsa], {'tlsarecord': tlsarec_err2}), + expected=errors.ValidationError( + name="selector", + error=u'can be at most 255' + ), + ), + + + dict( + desc='Try to add invalid TLSA record to %r using dnsrecord_add (3)' % (tlsa), + command=('dnsrecord_add', [zone1, tlsa], {'tlsarecord': tlsarec_err3}), + expected=errors.ValidationError( + name="matching_type", + error=u'can be at most 255' + ), + ), + + + dict( + desc='Add TLSA record to %r using dnsrecord_add' % (tlsa), + command=('dnsrecord_add', [zone1, tlsa], {'tlsarecord': tlsarec_ok}), + expected={ + 'value': tlsa_dnsname, + 'summary': None, + 'result': { + 'objectclass': objectclasses.dnsrecord, + 'dn': tlsa_dn, + 'idnsname': [tlsa_dnsname], + 'tlsarecord': [tlsarec_ok], + }, + }, + ), + + + dict( + desc='Delete record %r in zone %r' % (tlsa, zone1), + command=('dnsrecord_del', [zone1, tlsa], {'del_all': True}), + expected={ + 'value': [tlsa_dnsname], + 'summary': u'Deleted record "%s"' % tlsa, + 'result': {'failed': []}, + }, + ), + + + dict( desc='Try to create a reverse zone from invalid IP', command=( 'dnszone_add', [], { -- 1.8.3.1
>From 505ff8bc7bb8384d143b913349fd58345b7915f0 Mon Sep 17 00:00:00 2001 From: Martin Basti <mba...@redhat.com> Date: Fri, 4 Jul 2014 16:29:30 +0200 Subject: [PATCH 3/3] Test DNS: add zone with consecutive dash characters Test for ticket: https://fedorahosted.org/freeipa/ticket/4268 --- ipatests/test_xmlrpc/test_dns_plugin.py | 47 ++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/ipatests/test_xmlrpc/test_dns_plugin.py b/ipatests/test_xmlrpc/test_dns_plugin.py index abc8449..50b4d2e 100644 --- a/ipatests/test_xmlrpc/test_dns_plugin.py +++ b/ipatests/test_xmlrpc/test_dns_plugin.py @@ -82,6 +82,14 @@ zone4_ns_dnsname = DNSName(zone4_ns) zone4_rname = u'root.%s' % zone4 zone4_rname_dnsname = DNSName(zone4_rname) +zone5 = u'zone--5.test.' +zone5_dnsname = DNSName(zone5) +zone5_dn = DN(('idnsname', zone5), api.env.container_dns, api.env.basedn) +zone5_ns = u'ns1.%s' % zone5 +zone5_ns_dnsname = DNSName(zone5_ns) +zone5_rname = u'root.%s' % zone5 +zone5_rname_dnsname = DNSName(zone5_rname) + revzone1 = u'31.16.172.in-addr.arpa.' revzone1_dnsname = DNSName(revzone1) revzone1_ip = u'172.16.31.0' @@ -277,7 +285,7 @@ class test_dns(Declarative): pass cleanup_commands = [ - ('dnszone_del', [zone1, zone2, zone3, zone4, revzone1, revzone2, + ('dnszone_del', [zone1, zone2, zone3, zone4, zone5, revzone1, revzone2, revzone3_classless1, revzone3_classless2, idnzone1, revidnzone1, zone_findtest_master], {'continue': True}), @@ -460,6 +468,43 @@ class test_dns(Declarative): ), + dict( # https://fedorahosted.org/freeipa/ticket/4268 + desc='Create a zone with consecutive dash characters with --force', + command=( + 'dnszone_add', [zone5], { + 'idnssoamname': zone5_ns, + 'idnssoarname': zone5_rname, + 'force' : True, + } + ), + expected={ + 'value': zone5_dnsname, + 'summary': None, + 'result': { + 'dn': zone5_dn, + 'idnsname': [zone5_dnsname], + 'idnszoneactive': [u'TRUE'], + 'idnssoamname': [zone5_ns_dnsname], + 'nsrecord': [zone5_ns], + 'idnssoarname': [zone5_rname_dnsname], + 'idnssoaserial': [fuzzy_digits], + 'idnssoarefresh': [fuzzy_digits], + 'idnssoaretry': [fuzzy_digits], + 'idnssoaexpire': [fuzzy_digits], + 'idnssoaminimum': [fuzzy_digits], + 'idnsallowdynupdate': [u'FALSE'], + 'idnsupdatepolicy': [u'grant %(realm)s krb5-self * A; ' + u'grant %(realm)s krb5-self * AAAA; ' + u'grant %(realm)s krb5-self * SSHFP;' + % dict(realm=api.env.realm)], + 'idnsallowtransfer': [u'none;'], + 'idnsallowquery': [u'any;'], + 'objectclass': objectclasses.dnszone, + }, + }, + ), + + dict( desc='Retrieve zone %r' % zone1, command=('dnszone_show', [zone1], {}), -- 1.8.3.1
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel