pvl.hosts.zone: test host_reverse() more
authorTero Marttila <tero.marttila@aalto.fi>
Wed, 25 Feb 2015 15:40:58 +0200
changeset 473 68fd85d850ab
parent 472 814cc88c531b
child 474 51983fcda6b1
pvl.hosts.zone: test host_reverse() more
pvl/hosts/tests.py
--- a/pvl/hosts/tests.py	Wed Feb 25 15:37:46 2015 +0200
+++ b/pvl/hosts/tests.py	Wed Feb 25 15:40:58 2015 +0200
@@ -134,14 +134,6 @@
             ('host', 'A'): ['192.0.2.1'],
             ('host', 'AAAA'): ['2001:db8::c000:201'],
         })
-
-        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), {
-            ('1', 'PTR'): ['host.domain.'],
-        })
-
-        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), {
-            ('1.0.2.0.0.0.0.c.0.0.0.0.0.0.0.0', 'PTR'): ['host.domain.'],
-        })
     
     def testHostAlias(self):
         h = host.Host.build('host', 'domain',
@@ -327,6 +319,59 @@
         self.options = Options()
         self.options.unknown_host = False
 
+    def testHostIP(self):
+        h = host.Host.build('host', 'domain',
+                ip  = '192.0.2.1',
+                ip6 = '2001:db8::192.0.2.1',
+        )
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), {
+            ('1', 'PTR'): ['host.domain.'],
+        })
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), {
+            ('1.0.2.0.0.0.0.c.0.0.0.0.0.0.0.0', 'PTR'): ['host.domain.'],
+        })
+
+    def testHostIP4(self):
+        h = host.Host.build('host', 'domain',
+                ip  = '192.0.2.1',
+        )
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), {
+            ('1', 'PTR'): ['host.domain.'],
+        })
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), {
+
+        })
+
+    def testHostIP6(self):
+        h = host.Host.build('host', 'domain',
+                ip6 = '2001:db8::192.0.2.1',
+        )
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), {
+        })
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), {
+            ('1.0.2.0.0.0.0.c.0.0.0.0.0.0.0.0', 'PTR'): ['host.domain.'],
+        })
+
+    def testHostIPOutOfPrefix(self):
+        h = host.Host.build('host', 'domain',
+                ip  = '192.0.2.1',
+                ip6 = '2001:db8::192.0.2.1',
+        )
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.1.0/24'))), {
+
+        })
+
+        self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8:1::/64'))), {
+
+        })
+
     def testHostDelegate(self):
         h = host.Host.build('host', 'example.com',
                 ip      = '192.0.2.1',