def _test_list_networks(self, cmd, detail=False, tags=(), fields_1=(), fields_2=(), page_size=None, sort_key=(), sort_dir=(), base_args=None, query=''): resources = "networks" with mock.patch.object(network.ListNetwork, "extend_list", return_value=None) as mock_extend_list: self._test_list_resources(resources, cmd, detail, tags, fields_1, fields_2, page_size=page_size, sort_key=sort_key, sort_dir=sort_dir, base_args=base_args, query=query) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def test_list_external_nets_empty_with_column(self): resources = "networks" cmd = network.ListExternalNetwork(test_cli20.MyApp(sys.stdout), None) reses = {resources: []} resstr = self.client.serialize(reses) # url method body query = "router%3Aexternal=True&id=myfakeid" args = ['-c', 'id', '--', '--id', 'myfakeid'] path = getattr(self.client, resources + "_path") resp = (test_cli20.MyResp(200), resstr) with mock.patch.object(cmd, "get_client", return_value=self.client) as mock_get_client, \ mock.patch.object(self.client.httpclient, "request", return_value=resp) as mock_request, \ mock.patch.object(network.ListNetwork, "extend_list", return_value=None) as mock_extend_list: cmd_parser = cmd.get_parser("list_" + resources) shell.run_command(cmd, cmd_parser, args) mock_get_client.assert_called_once_with() mock_request.assert_called_once_with( test_cli20.MyUrlComparator(test_cli20.end_url(path, query), self.client), 'GET', body=None, headers=test_cli20.ContainsKeyValue( {'X-Auth-Token': test_cli20.TOKEN})) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY) _str = self.fake_stdout.make_string() self.assertEqual('\n', _str)
def test_list_security_group_rules_limit(self, mock_extend_list): resources = "security_group_rules" cmd = securitygroup.ListSecurityGroupRule(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, page_size=1000) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def _test_list_nets_columns(self, cmd, returned_body, args=('-f', 'json')): resources = 'networks' with mock.patch.object(network.ListNetwork, "extend_list", return_value=None) as mock_extend_list: self._test_list_columns(cmd, resources, returned_body, args=args) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def test_list_nets_pagination(self): cmd = network.ListNetwork(test_cli20.MyApp(sys.stdout), None) with mock.patch.object(network.ListNetwork, "extend_list", return_value=None) as mock_extend_list: self._test_list_resources_with_pagination("networks", cmd) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def test_list_address_scope_pagination(self, mock_extend_list): # address_scope-list. cmd = address_scope.ListAddressScope(test_cli20.MyApp(sys.stdout), None) self._test_list_resources_with_pagination("address_scopes", cmd) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def test_list_security_group_rules_sort(self, mock_extend_list): resources = "security_group_rules" cmd = securitygroup.ListSecurityGroupRule( test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, sort_key=["name", "id"], sort_dir=["asc", "desc"]) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def test_list_networks_on_agent(self, mock_extend_list): resources = 'networks' cmd = agentscheduler.ListNetworksOnDhcpAgent( test_cli20.MyApp(sys.stdout), None) agent_id = 'agent_id1' path = ((self.client.agent_path + self.client.DHCP_NETS) % agent_id) self._test_list_resources(resources, cmd, base_args=[agent_id], path=path) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def _test_list_external_nets(self, resources, cmd, detail=False, tags=(), fields_1=(), fields_2=()): reses = { resources: [ { 'id': 'myid1', }, { 'id': 'myid2', }, ], } resstr = self.client.serialize(reses) resp = (test_cli20.MyResp(200), resstr) # url method body query = "" args = detail and [ '-D', ] or [] if fields_1: for field in fields_1: args.append('--fields') args.append(field) if tags: args.append('--') args.append("--tag") for tag in tags: args.append(tag) if (not tags) and fields_2: args.append('--') if fields_2: args.append("--fields") for field in fields_2: args.append(field) for field in itertools.chain(fields_1, fields_2): if query: query += "&fields=" + field else: query = "fields=" + field if query: query += '&router%3Aexternal=True' else: query += 'router%3Aexternal=True' for tag in tags: if query: query += "&tag=" + tag else: query = "tag=" + tag if detail: query = query and query + '&verbose=True' or 'verbose=True' path = getattr(self.client, resources + "_path") with mock.patch.object(cmd, "get_client", return_value=self.client) as mock_get_client, \ mock.patch.object(self.client.httpclient, "request", return_value=resp) as mock_request, \ mock.patch.object(network.ListNetwork, "extend_list", return_value=None) as mock_extend_list: cmd_parser = cmd.get_parser("list_" + resources) shell.run_command(cmd, cmd_parser, args) mock_get_client.assert_called_once_with() mock_request.assert_called_once_with( test_cli20.MyUrlComparator(test_cli20.end_url(path, query), self.client), 'GET', body=None, headers=test_cli20.ContainsKeyValue( {'X-Auth-Token': test_cli20.TOKEN})) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY) _str = self.fake_stdout.make_string() self.assertIn('myid1', _str)
def test_list_bgp_speaker_pagination(self, mock_extend_list): # List all BGP Speakers with pagination support. cmd = bgp_speaker.ListSpeakers(test_cli20.MyApp(sys.stdout), None) self._test_list_resources_with_pagination("bgp_speakers", cmd) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)
def test_list_subnetpool_pagination(self, mock_extend_list): cmd = subnetpool.ListSubnetPool(test_cli20.MyApp(sys.stdout), None) self._test_list_resources_with_pagination("subnetpools", cmd) mock_extend_list.assert_called_once_with(test_cli20.IsA(list), mock.ANY)