Merge "resource-list fails on a failed resourcegroup stack"

This commit is contained in:
Jenkins 2014-05-07 20:33:24 +00:00 committed by Gerrit Code Review
commit afdfb71d99
2 changed files with 24 additions and 1 deletions

View File

@ -85,7 +85,8 @@ def format_stack_resource(resource, detail=True):
api.RES_REQUIRED_BY: resource.required_by(),
}
if hasattr(resource, 'nested') and callable(resource.nested):
if (hasattr(resource, 'nested') and callable(resource.nested) and
resource.nested()):
res[api.RES_NESTED_STACK_ID] = dict(resource.nested().identifier())
if detail:

View File

@ -89,6 +89,28 @@ class FormatTest(HeatTestCase):
formatted = api.format_stack_resource(res, False)
self.assertEqual(nested_id, formatted[rpc_api.RES_NESTED_STACK_ID])
def test_format_stack_resource_with_nested_stack_none(self):
res = self.stack['generic1']
res.nested = mock.Mock()
res.nested.return_value = None
resource_keys = set((
rpc_api.RES_UPDATED_TIME,
rpc_api.RES_NAME,
rpc_api.RES_PHYSICAL_ID,
rpc_api.RES_METADATA,
rpc_api.RES_ACTION,
rpc_api.RES_STATUS,
rpc_api.RES_STATUS_DATA,
rpc_api.RES_TYPE,
rpc_api.RES_ID,
rpc_api.RES_STACK_ID,
rpc_api.RES_STACK_NAME,
rpc_api.RES_REQUIRED_BY))
formatted = api.format_stack_resource(res, False)
self.assertEqual(resource_keys, set(formatted.keys()))
def test_format_stack_resource_required_by(self):
res1 = api.format_stack_resource(self.stack['generic1'])
res2 = api.format_stack_resource(self.stack['generic2'])