Пример #1
0
    def test_get_next_subnet_addr_suffix(self):
        result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/24', 24)
        self.assertEqual(result, '10.0.1.0/24')

        # for 254~510 instances VMSS
        result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/23', 24)
        self.assertEqual(result, '10.0.2.0/24')

        # +1 overflows, so we go with -1
        result = _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/24',
                                              24)
        self.assertEqual(result, '12.0.254.0/24')

        # handle carry bits to the next section
        result = _get_next_subnet_addr_suffix('12.0.0.0/15', '12.0.255.0/24',
                                              24)
        self.assertEqual(result, '12.1.0.0/24')

        # error cases
        with self.assertRaises(CLIError):
            _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/15', 24)

        with self.assertRaises(CLIError):
            _get_next_subnet_addr_suffix('12.0.0.0/16', '12.1.0.0/16', 24)

        with self.assertRaises(CLIError):
            _get_next_subnet_addr_suffix('12.0.0.0/22', '12.0.0.0/22', 24)

        # verify end to end
        np_mock = mock.MagicMock()
        np_mock.vnet_type = 'new'
        np_mock.vnet_address_prefix = '10.0.0.0/16'
        np_mock.subnet_address_prefix = None
        np_mock.instance_count = 1000
        np_mock.app_gateway_type = 'new'
        np_mock.app_gateway_subnet_address_prefix = None
        _validate_vmss_create_subnet(np_mock)
        self.assertEqual(np_mock.app_gateway_subnet_address_prefix,
                         '10.0.4.0/24')
Пример #2
0
    def test_get_next_subnet_addr_suffix(self):
        result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/24', 24)
        self.assertEqual(result, '10.0.1.0/24')

        # for 254~510 instances VMSS
        result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/23', 24)
        self.assertEqual(result, '10.0.2.0/24')

        # +1 overflows, so we go with -1
        result = _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/24', 24)
        self.assertEqual(result, '12.0.254.0/24')

        # handle carry bits to the next section
        result = _get_next_subnet_addr_suffix('12.0.0.0/15', '12.0.255.0/24', 24)
        self.assertEqual(result, '12.1.0.0/24')

        # error cases
        with self.assertRaises(CLIError):
            _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/15', 24)

        with self.assertRaises(CLIError):
            _get_next_subnet_addr_suffix('12.0.0.0/16', '12.1.0.0/16', 24)

        with self.assertRaises(CLIError):
            _get_next_subnet_addr_suffix('12.0.0.0/22', '12.0.0.0/22', 24)

        # verify end to end
        np_mock = mock.MagicMock()
        np_mock.vnet_type = 'new'
        np_mock.vnet_address_prefix = '10.0.0.0/16'
        np_mock.subnet_address_prefix = None
        np_mock.instance_count = 1000
        np_mock.app_gateway_type = 'new'
        np_mock.app_gateway_subnet_address_prefix = None
        np_mock.disable_overprovision = None
        _validate_vmss_create_subnet(np_mock)
        self.assertEqual(np_mock.app_gateway_subnet_address_prefix, '10.0.8.0/24')