@param rdclass: The zone's rdata class; the default is class IN.
@type rdclass: int"""
- self.rdclass = rdclass
+ if isinstance(origin, string_types):
+ origin = dns.name.from_text(origin)
+ elif not isinstance(origin, dns.name.Name):
+ raise ValueError("origin parameter must be convertable to a "
+ "DNS name")
+ if not origin.is_absolute():
+ raise ValueError("origin parameter must be an absolute name")
self.origin = origin
+ self.rdclass = rdclass
self.nodes = {}
self.relativize = relativize
rds = n.get_rdataset(dns.rdataclass.IN, dns.rdatatype.A)
self.failUnless(rds.ttl == 0)
+ def testZoneOrigin(self):
+ z = dns.zone.Zone('example.')
+ self.failUnless(z.origin == dns.name.from_text('example.'))
+ def bad1():
+ o = dns.name.from_text('example', None)
+ z = dns.zone.Zone(o)
+ self.failUnlessRaises(ValueError, bad1)
+ def bad2():
+ z = dns.zone.Zone(1.0)
+ self.failUnlessRaises(ValueError, bad2)
+
if __name__ == '__main__':
unittest.main()