Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
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())
Ejemplo n.º 3
0
    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))
Ejemplo n.º 4
0
 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))
Ejemplo n.º 5
0
 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)