def test_create_from_subnet_pool_options(self): # Mock create_subnet, find_subnet_pool, and find_network sdk calls # to return the values we want for this test self.network.create_subnet = \ mock.Mock(return_value=self._subnet_from_pool) self._network.id = self._subnet_from_pool.network_id self.network.find_network = mock.Mock(return_value=self._network) self.network.find_subnet_pool = \ mock.Mock(return_value=self._subnet_pool) arglist = [ self._subnet_from_pool.name, "--subnet-pool", self._subnet_from_pool.subnetpool_id, "--prefix-length", '24', "--network", self._subnet_from_pool.network_id, "--ip-version", str(self._subnet_from_pool.ip_version), "--gateway", self._subnet_from_pool.gateway_ip, "--dhcp", ] for dns_addr in self._subnet_from_pool.dns_nameservers: arglist.append('--dns-nameserver') arglist.append(dns_addr) for host_route in self._subnet_from_pool.host_routes: arglist.append('--host-route') value = 'gateway=' + host_route.get('nexthop', '') + \ ',destination=' + host_route.get('destination', '') arglist.append(value) verifylist = [ ('name', self._subnet_from_pool.name), ('prefix_length', '24'), ('network', self._subnet_from_pool.network_id), ('ip_version', self._subnet_from_pool.ip_version), ('gateway', self._subnet_from_pool.gateway_ip), ('dns_nameservers', self._subnet_from_pool.dns_nameservers), ('enable_dhcp', self._subnet_from_pool.enable_dhcp), ('host_routes', subnet_v2.convert_entries_to_gateway( self._subnet_from_pool.host_routes)), ('subnet_pool', self._subnet_from_pool.subnetpool_id), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) self.network.create_subnet.assert_called_with(**{ 'dns_nameservers': self._subnet_from_pool.dns_nameservers, 'enable_dhcp': self._subnet_from_pool.enable_dhcp, 'gateway_ip': self._subnet_from_pool.gateway_ip, 'host_routes': self._subnet_from_pool.host_routes, 'ip_version': self._subnet_from_pool.ip_version, 'name': self._subnet_from_pool.name, 'network_id': self._subnet_from_pool.network_id, 'prefixlen': '24', 'subnetpool_id': self._subnet_from_pool.subnetpool_id, }) self.assertEqual(self.columns, columns) self.assertEqual(self.data_subnet_pool, data)
def test_create_options_subnet_range_ipv6(self): # Mock create_subnet and find_network sdk calls to return the # values we want for this test self.network.create_subnet = mock.Mock(return_value=self._subnet_ipv6) self._network.id = self._subnet_ipv6.network_id self.network.find_network = mock.Mock(return_value=self._network) arglist = [ self._subnet_ipv6.name, "--subnet-range", self._subnet_ipv6.cidr, "--network", self._subnet_ipv6.network_id, "--ip-version", str(self._subnet_ipv6.ip_version), "--ipv6-ra-mode", self._subnet_ipv6.ipv6_ra_mode, "--ipv6-address-mode", self._subnet_ipv6.ipv6_address_mode, "--gateway", self._subnet_ipv6.gateway_ip, "--dhcp", ] for dns_addr in self._subnet_ipv6.dns_nameservers: arglist.append('--dns-nameserver') arglist.append(dns_addr) for host_route in self._subnet_ipv6.host_routes: arglist.append('--host-route') value = 'gateway=' + host_route.get('nexthop', '') + \ ',destination=' + host_route.get('destination', '') arglist.append(value) for pool in self._subnet_ipv6.allocation_pools: arglist.append('--allocation-pool') value = 'start=' + pool.get('start', '') + \ ',end=' + pool.get('end', '') arglist.append(value) verifylist = [ ('name', self._subnet_ipv6.name), ('subnet_range', self._subnet_ipv6.cidr), ('network', self._subnet_ipv6.network_id), ('ip_version', self._subnet_ipv6.ip_version), ('ipv6_ra_mode', self._subnet_ipv6.ipv6_ra_mode), ('ipv6_address_mode', self._subnet_ipv6.ipv6_address_mode), ('gateway', self._subnet_ipv6.gateway_ip), ('dns_nameservers', self._subnet_ipv6.dns_nameservers), ('enable_dhcp', self._subnet_ipv6.enable_dhcp), ('host_routes', subnet_v2.convert_entries_to_gateway( self._subnet_ipv6.host_routes)), ('allocation_pools', self._subnet_ipv6.allocation_pools), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) self.network.create_subnet.assert_called_with(**{ 'cidr': self._subnet_ipv6.cidr, 'dns_nameservers': self._subnet_ipv6.dns_nameservers, 'enable_dhcp': self._subnet_ipv6.enable_dhcp, 'gateway_ip': self._subnet_ipv6.gateway_ip, 'host_routes': self._subnet_ipv6.host_routes, 'ip_version': self._subnet_ipv6.ip_version, 'ipv6_address_mode': self._subnet_ipv6.ipv6_address_mode, 'ipv6_ra_mode': self._subnet_ipv6.ipv6_ra_mode, 'name': self._subnet_ipv6.name, 'network_id': self._subnet_ipv6.network_id, 'allocation_pools': self._subnet_ipv6.allocation_pools, }) self.assertEqual(self.columns, columns) self.assertEqual(self.data_ipv6, data)