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

Reply via email to