def test_get_ptr_mapping_drops_IPs_not_in_network(self): name = factory.make_string() network = IPNetwork("192.12.0.1/30") in_network_mapping = { factory.make_string(): factory.pick_ip_in_network(network), factory.make_string(): factory.pick_ip_in_network(network), } expected = [ ( IPAddress(ip).reverse_dns.split(".")[0], 30, "%s.%s." % (hostname, name), ) for hostname, ip in in_network_mapping.items() ] mapping = { "%s.%s" % (hostname, name): HostnameIPMapping(None, 30, [ip]) for hostname, ip in in_network_mapping.items() } extra_mapping = { factory.make_string(): HostnameIPMapping(None, 30, ["192.50.0.2"]), factory.make_string(): HostnameIPMapping(None, 30, ["192.70.0.2"]), } mapping.update(extra_mapping) self.assertItemsEqual( expected, DNSReverseZoneConfig.get_PTR_mapping(mapping, network) )
def test_get_ptr_mapping(self): name = factory.make_string() network = IPNetwork('192.12.0.1/30') hosts = { factory.make_string(): factory.pick_ip_in_network(network), factory.make_string(): factory.pick_ip_in_network(network), } expected = [(IPAddress(ip).reverse_dns.split('.')[0], 30, '%s.%s.' % (hostname, name)) for hostname, ip in hosts.items()] mapping = { "%s.%s" % (hostname, name): HostnameIPMapping(None, 30, {ip}) for hostname, ip in hosts.items() } self.assertItemsEqual( expected, DNSReverseZoneConfig.get_PTR_mapping(mapping, network))