def test_dynamic_zone_with_unresolvable_hostname(self): zone = BaseZone('dynamic_zone', hostnames=[MyResolverCache.unresolvable_hostname, ]) updated_zones = { 'dynamic_zone' : set(), } self.__check_zone_update_messages(MyResolverCache.unresolvable_hostname, updated_zones) zone = BaseZone('dynamic_zone', addrs=[ MyResolverCache.non_conflicting_ipv4_addr, ], hostnames=[ MyResolverCache.unresolvable_hostname, ]) updated_zones = { 'dynamic_zone' : set(self.__get_subnets_from_addresses([MyResolverCache.non_conflicting_ipv4_addr])), } self.__check_zone_update_messages(MyResolverCache.unresolvable_hostname, updated_zones) zone = BaseZone('dynamic_zone', addrs=[ MyResolverCache.non_conflicting_ipv4_addr, ], hostnames=[ MyResolverCache.unresolvable_hostname, MyResolverCache.host_one_hostname, ]) updated_zones = { 'dynamic_zone' : set(self.__get_subnets_from_addresses([ MyResolverCache.host_one_ipv4_addr, MyResolverCache.host_one_ipv6_addr, MyResolverCache.non_conflicting_ipv4_addr, ])), } self.__check_zone_update_messages(MyResolverCache.unresolvable_hostname, updated_zones)
def test_initial_zone_addition_if_there_are_dynamic_addresses_only(self): BaseZone('root', hostnames=[ 'nohost', ]) BaseZone('child', hostnames=[ 'nohost', ]) self.__check_initially_added_zones(['root', 'child'], [])
def test_initial_zone_addition_if_there_are_static_addresses_only(self): BaseZone('root', addrs=['1.1.1.1/32', '2.2.2.2/32']) BaseZone('child', addrs=['1::/16', '2::/16']) self.__check_initially_added_zones(['root', 'child'], [ '1.1.1.1/255.255.255.255', '2.2.2.2/255.255.255.255', '1::/ffff::', '2::/ffff::', ])
def test_initial_zone_addition_if_there_are_both_static_and_dynamic_addresses( self): BaseZone('root', addrs=[ '1.1.1.1/32', ], hostnames=[ 'nohost', ]) BaseZone('child', addrs=[ '1::/16', ], hostnames=[ 'nohost', ]) self.__check_initially_added_zones(['root', 'child'], [ '1.1.1.1/255.255.255.255', '1::/ffff::', ])
def test_mixed_zone_conflicts_with_dynamic_only_zone(self): BaseZone('dynamic_zone', addrs=[ MyResolverCache.non_conflicting_ipv4_addr, MyResolverCache.non_conflicting_ipv6_addr ], hostnames=[ MyResolverCache.host_one_hostname, ]) zone = Zone('conflicting_dynamic_zone', hostnames=[ MyResolverCache.conflicting_host_hostname, ]) updated_zones = { 'dynamic_zone': set( self.__get_subnets_from_addresses([ MyResolverCache.non_conflicting_ipv4_addr, MyResolverCache.non_conflicting_ipv6_addr, ])), 'conflicting_dynamic_zone': set(), } self.__check_zone_update_messages( MyResolverCache.conflicting_host_hostname, updated_zones)
def test_zone_with_dynamic_address_only(self): zone = BaseZone('dynamic_zone', hostnames=[MyResolverCache.host_one_hostname, ]) updated_zones = { 'dynamic_zone' : set(self.__get_subnets_from_addresses([ MyResolverCache.host_one_ipv4_addr, MyResolverCache.host_one_ipv6_addr, ])), } self.__check_zone_update_messages(MyResolverCache.host_one_hostname, updated_zones)
def test_zone_addition_order(self): BaseZone('root') BaseZone('child', admin_parent='root') BaseZone('grandchild', admin_parent='child') self.__check_initially_added_zones(['root', 'child', 'grandchild'])
def test_sanity(self): BaseZone('root') self.__check_initially_added_zones(['root'])
def test_static_zone_not_updated(self): zone = BaseZone('static_zone', addrs=[MyResolverCache.host_one_ipv4_addr, ]) self.__check_zone_update_messages(zone, {})
def test_empty_zone_not_updated(self): zone = BaseZone('static_zone') self.__check_zone_update_messages(zone, {})