def test_get_zone_by_name(self): self.newSetUp() #get each created zone for zone in self._zones: zone_name = zone['name'] self.send_message(messages.KZorpGetZoneMessage(zone_name), message_handler=self._get_zone_message_handler) self.assertNotEqual(self._index, len(self._zones)) #get a not existent zone self.assertNotEqual(self._zones[0]['name'], 'nonexistent zone name') res = self.send_message( messages.KZorpGetZoneMessage('nonexistent zone name'), assert_on_error=False) self.assertEqual(res, -errno.ENOENT)
class KZorpTestCaseZoneDump(KZorpTestCaseDump): _dump_message = messages.KZorpGetZoneMessage(None) def __create_several_zones_that_do_not_fit_into_one_netlink_packet(self): zone_name_format = 'zone_with_subnets_do_not_fit_into_one_netlink_packet_%d' zone_messages = [] for zone_num in range(self._get_netlink_packet_size()): add_zone_message = messages.KZorpAddZoneMessage(zone_name_format % (zone_num, ), subnet_num=0) zone_messages.append(add_zone_message) return zone_messages def __create_one_zone_with_subnets_do_not_fit_into_one_netlink_packet( self): zone_name = 'zone' zone_subnet_count_that_not_fit_in_netlink_packet = self._get_netlink_packet_size( ) zone_subnet_family = socket.AF_INET zone_subnet_format = '192.168.%d.%d' zone_messages = [] add_zone_message = messages.KZorpAddZoneMessage( zone_name, subnet_num=zone_subnet_count_that_not_fit_in_netlink_packet) zone_messages.append(add_zone_message) for subnet_num in range( zone_subnet_count_that_not_fit_in_netlink_packet): add_zone_subnet_message = messages.KZorpAddZoneSubnetMessage( zone_name, family=zone_subnet_family, address=socket.inet_pton( zone_subnet_family, zone_subnet_format % ( subnet_num % (2**16) / 256, subnet_num % (2**8), )), mask=socket.inet_pton( zone_subnet_family, testutil.size_to_mask(zone_subnet_family, 32))) zone_messages.append(add_zone_subnet_message) return zone_messages def test_one_zone_with_subnets_do_not_fit_into_one_netlink_packet(self): self._check_objects( self. __create_one_zone_with_subnets_do_not_fit_into_one_netlink_packet( )) def test_several_zones_that_do_not_fit_into_one_netlink_packet(self): self._check_objects( self. __create_several_zones_that_do_not_fit_into_one_netlink_packet())
def check_zone_num(self, num_zones=0, in_transaction=True): self._dumped_zones = [] if in_transaction == True: self.start_transaction() self.send_message(messages.KZorpGetZoneMessage(), message_handler=self._dump_zone_handler, dump=True) if in_transaction == True: self.end_transaction() self.assertEqual(num_zones, len(self._dumped_zones))
def test_get_zone_with_dump(self): self.newSetUp() #get the dump of zones self.send_message(messages.KZorpGetZoneMessage(None), message_handler=self._get_zones_message_handler, dump=True) self.assertEqual(len(self._add_zone_messages), len(self._zones)) for add_zone_message in self._add_zone_messages: for i in range(len(self._zones)): if add_zone_message.name == self._zones[i]['name']: self._check_zone_params(add_zone_message, self._zones[i]) break else: self.assert_( True, "zone with name %s could not find in the dump" % self.get_zone_uname(add_zone_message))
def _check_add_zone_subnet_internet(self, msg): self.send_message(messages.KZorpGetZoneMessage(msg.zone_name), message_handler=self._add_zone_subnet_handler) self.assertEqual(self._add_zone_subnet_msg, msg)