Merge "deal with -c option when the list result is empty."
This commit is contained in:
@@ -32,6 +32,8 @@ quantum net-show $network_id || die "fail to show network $network_id"
|
||||
quantum net-update $network --admin_state_up False || die "fail to update network $network"
|
||||
quantum net-update $network_id --admin_state_up True || die "fail to update network $network_id"
|
||||
|
||||
quantum net-list -c id -- --id fakeid || die "fail to list networks with column selection on empty list"
|
||||
|
||||
# test the CRUD of subnet
|
||||
subnet=mysubnet1
|
||||
cidr=10.0.1.3/24
|
||||
@@ -122,4 +124,4 @@ else
|
||||
die "without valid context on server, quota delete command should fail."
|
||||
fi
|
||||
quantum quota-list || die "fail to update quota for self"
|
||||
fi
|
||||
fi
|
||||
|
@@ -362,6 +362,8 @@ class ListCommand(QuantumCommand, lister.Lister):
|
||||
if collection in data:
|
||||
info = data[collection]
|
||||
_columns = len(info) > 0 and sorted(info[0].keys()) or []
|
||||
if not _columns:
|
||||
parsed_args.columns = []
|
||||
return (_columns, (utils.get_item_properties(
|
||||
s, _columns, formatters=self._formatters, )
|
||||
for s in info), )
|
||||
|
@@ -18,6 +18,7 @@
|
||||
import sys
|
||||
|
||||
from quantumclient.common import exceptions
|
||||
from quantumclient.tests.unit import test_cli20
|
||||
from quantumclient.tests.unit.test_cli20 import CLITestV20Base
|
||||
from quantumclient.tests.unit.test_cli20 import MyApp
|
||||
from quantumclient.quantum.v2_0.network import CreateNetwork
|
||||
@@ -79,6 +80,35 @@ class CLITestV20Network(CLITestV20Base):
|
||||
position_names, position_values,
|
||||
admin_state_up=False)
|
||||
|
||||
def test_lsit_nets_empty_with_column(self):
|
||||
resources = "networks"
|
||||
cmd = ListNetwork(MyApp(sys.stdout), None)
|
||||
self.mox.StubOutWithMock(cmd, "get_client")
|
||||
self.mox.StubOutWithMock(self.client.httpclient, "request")
|
||||
cmd.get_client().MultipleTimes().AndReturn(self.client)
|
||||
reses = {resources: []}
|
||||
resstr = self.client.serialize(reses)
|
||||
# url method body
|
||||
query = "id=myfakeid"
|
||||
args = ['-c', 'id', '--', '--id', 'myfakeid']
|
||||
path = getattr(self.client, resources + "_path")
|
||||
self.client.httpclient.request(
|
||||
test_cli20.end_url(path, query), 'GET',
|
||||
body=None,
|
||||
headers=test_cli20.ContainsKeyValue(
|
||||
'X-Auth-Token',
|
||||
test_cli20.TOKEN)).AndReturn(
|
||||
(test_cli20.MyResp(200), resstr))
|
||||
self.mox.ReplayAll()
|
||||
cmd_parser = cmd.get_parser("list_" + resources)
|
||||
|
||||
parsed_args = cmd_parser.parse_args(args)
|
||||
cmd.run(parsed_args)
|
||||
self.mox.VerifyAll()
|
||||
self.mox.UnsetStubs()
|
||||
_str = self.fake_stdout.make_string()
|
||||
self.assertEquals('\n', _str)
|
||||
|
||||
def test_list_nets_detail(self):
|
||||
"""list nets: -D."""
|
||||
resources = "networks"
|
||||
|
Reference in New Issue
Block a user