Merge "Show 'project' info if heat server returns"
This commit is contained in:
commit
28cf99603a
@ -631,8 +631,6 @@ def _list(client, args=None):
|
||||
columns.pop()
|
||||
if args.long:
|
||||
columns.insert(2, 'Stack Owner')
|
||||
if args.long or args.all_projects:
|
||||
columns.insert(2, 'Project')
|
||||
|
||||
if args.nested:
|
||||
columns.append('Parent')
|
||||
@ -642,6 +640,11 @@ def _list(client, args=None):
|
||||
columns.append('Deletion Time')
|
||||
|
||||
data = client.stacks.list(**kwargs)
|
||||
data = list(data)
|
||||
for stk in data:
|
||||
if hasattr(stk, 'project'):
|
||||
columns.insert(2, 'Project')
|
||||
break
|
||||
data = utils.sort_items(data, args.sort if args else None)
|
||||
|
||||
return (
|
||||
|
@ -465,6 +465,9 @@ class TestStackList(TestStack):
|
||||
'deletion_time': '2015-10-21T07:50:00Z',
|
||||
}
|
||||
|
||||
data_with_project = copy.deepcopy(data)
|
||||
data_with_project['project'] = 'test_project'
|
||||
|
||||
def setUp(self):
|
||||
super(TestStackList, self).setUp()
|
||||
self.cmd = stack.ListStack(self.app, None)
|
||||
@ -507,6 +510,8 @@ class TestStackList(TestStack):
|
||||
self.assertEqual(cols, columns)
|
||||
|
||||
def test_stack_list_all_projects(self):
|
||||
self.stack_client.list.return_value = [
|
||||
stacks.Stack(None, self.data_with_project)]
|
||||
kwargs = copy.deepcopy(self.defaults)
|
||||
kwargs['global_tenant'] = True
|
||||
cols = copy.deepcopy(self.columns)
|
||||
@ -519,7 +524,23 @@ class TestStackList(TestStack):
|
||||
self.stack_client.list.assert_called_with(**kwargs)
|
||||
self.assertEqual(cols, columns)
|
||||
|
||||
def test_stack_list_with_project(self):
|
||||
self.stack_client.list.return_value = [
|
||||
stacks.Stack(None, self.data_with_project)]
|
||||
kwargs = copy.deepcopy(self.defaults)
|
||||
cols = copy.deepcopy(self.columns)
|
||||
cols.insert(2, 'Project')
|
||||
arglist = []
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.stack_client.list.assert_called_with(**kwargs)
|
||||
self.assertEqual(cols, columns)
|
||||
|
||||
def test_stack_list_long(self):
|
||||
self.stack_client.list.return_value = [
|
||||
stacks.Stack(None, self.data_with_project)]
|
||||
kwargs = copy.deepcopy(self.defaults)
|
||||
kwargs['global_tenant'] = True
|
||||
cols = copy.deepcopy(self.columns)
|
||||
|
@ -126,25 +126,25 @@ class TestCase(testtools.TestCase):
|
||||
mockfixture = self.useFixture(mockpatch.Patch(target, **kwargs))
|
||||
return mockfixture.mock
|
||||
|
||||
def stack_list_resp_dict(self, show_nested=False):
|
||||
resp_dict = {"stacks": [
|
||||
{
|
||||
"id": "1",
|
||||
"stack_name": "teststack",
|
||||
"stack_owner": "testowner",
|
||||
"project": "testproject",
|
||||
"stack_status": 'CREATE_COMPLETE',
|
||||
"creation_time": "2012-10-25T01:58:47Z"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"stack_name": "teststack2",
|
||||
"stack_owner": "testowner",
|
||||
"project": "testproject",
|
||||
"stack_status": 'IN_PROGRESS',
|
||||
"creation_time": "2012-10-25T01:58:47Z"
|
||||
}]
|
||||
}
|
||||
def stack_list_resp_dict(self, show_nested=False, include_project=False):
|
||||
stack1 = {
|
||||
"id": "1",
|
||||
"stack_name": "teststack",
|
||||
"stack_owner": "testowner",
|
||||
"stack_status": 'CREATE_COMPLETE',
|
||||
"creation_time": "2012-10-25T01:58:47Z"}
|
||||
stack2 = {
|
||||
"id": "2",
|
||||
"stack_name": "teststack2",
|
||||
"stack_owner": "testowner",
|
||||
"stack_status": 'IN_PROGRESS',
|
||||
"creation_time": "2012-10-25T01:58:47Z"
|
||||
}
|
||||
if include_project:
|
||||
stack1['project'] = 'testproject'
|
||||
stack1['project'] = 'testproject'
|
||||
|
||||
resp_dict = {"stacks": [stack1, stack2]}
|
||||
if show_nested:
|
||||
nested = {
|
||||
"id": "3",
|
||||
@ -153,6 +153,8 @@ class TestCase(testtools.TestCase):
|
||||
"creation_time": "2012-10-25T01:58:47Z",
|
||||
"parent": "theparentof3"
|
||||
}
|
||||
if include_project:
|
||||
nested['project'] = 'testproject'
|
||||
resp_dict["stacks"].append(nested)
|
||||
|
||||
return resp_dict
|
||||
@ -4209,7 +4211,7 @@ class MockShellTestUserPass(MockShellBase):
|
||||
|
||||
def test_stack_list_with_args(self):
|
||||
self.register_keystone_auth_fixture()
|
||||
resp_dict = self.stack_list_resp_dict()
|
||||
resp_dict = self.stack_list_resp_dict(include_project=True)
|
||||
resp = fakes.FakeHTTPResponse(
|
||||
200,
|
||||
'success, you',
|
||||
|
@ -689,13 +689,16 @@ def do_stack_list(hc, args=None):
|
||||
|
||||
if args.global_tenant or args.show_owner:
|
||||
fields.append('stack_owner')
|
||||
if args.global_tenant:
|
||||
fields.append('project')
|
||||
|
||||
if args.show_deleted:
|
||||
fields.append('deletion_time')
|
||||
|
||||
stacks = hc.stacks.list(**kwargs)
|
||||
stacks = list(stacks)
|
||||
for stk in stacks:
|
||||
if hasattr(stk, 'project'):
|
||||
fields.append('project')
|
||||
break
|
||||
utils.print_list(stacks, fields, sortby_index=sortby_index)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user