**common_params)
response = stack.validate()
- if response['Description'] != 'Successfully validated':
- return response
+ if response:
+ return {'Description': response}
stack_id = stack.store()
template_params, **common_params)
response = updated_stack.validate()
- if response['Description'] != 'Successfully validated':
- return response
+ if response:
+ return {'Description': response}
# Spawn a greenthread to do the update, and register a
# callback to remove the thread from stack_threads when done
return {'Error':
'Every Resources object must contain a Type member.'}
- parameters = []
- for param_key, param in template.get('Parameters', {}).items():
- parameters.append({
- 'NoEcho': param.get('NoEcho', 'false'),
- 'ParameterKey': param_key,
- 'Description': param.get('Description', '')
- })
+ def describe_param(p):
+ description = {'NoEcho': 'false',
+ 'ParameterKey': p.name,
+ 'Description': p.description()}
+ if p.has_default():
+ description['DefaultValue'] = p.default()
+
+ return description
+
+ params = parser.Parameters(None, tmpl).map(describe_param)
result = {
'Description': template.get('Description', ''),
- 'Parameters': parameters,
+ 'Parameters': params.values(),
}
return result
result = str(ex)
if result:
- err_str = 'Malformed Query Response %s' % result
- response = {'Description': err_str,
- 'Parameters': []}
- return response
-
- def describe_param(p):
- return {'NoEcho': 'false',
- 'ParameterKey': p.name,
- 'Description': p.description(),
- 'DefaultValue': p.default()}
-
- params = self.parameters.map(describe_param)
-
- response = {'Description': 'Successfully validated',
- 'Parameters': params.values()}
-
- return response
+ return 'Malformed Query Response %s' % result
def state_set(self, new_status, reason):
'''Update the stack state in the database'''
stack.t, stack.parameters).AndReturn(stack)
self.m.StubOutWithMock(stack, 'validate')
- stack.validate().AndReturn({'Description': 'Successfully validated'})
+ stack.validate().AndReturn(None)
self.m.StubOutWithMock(manager.greenpool, 'spawn')
manager.greenpool.spawn(stack.create).AndReturn(DummyGreenThread())
stack.t, stack.parameters).AndReturn(stack)
self.m.StubOutWithMock(stack, 'validate')
- error = {'Description': 'fubar'}
+ error = 'fubar'
stack.validate().AndReturn(error)
self.m.StubOutWithMock(manager.greenpool, 'spawn')
result = self.man.create_stack(self.ctx, stack_name,
template, params, {})
- self.assertEqual(result, error)
+ self.assertEqual(result, {'Description': error})
self.m.VerifyAll()
def test_stack_delete(self):
stack.t, stack.parameters).AndReturn(stack)
self.m.StubOutWithMock(stack, 'validate')
- stack.validate().AndReturn({'Description': 'Successfully validated'})
+ stack.validate().AndReturn(None)
self.m.StubOutWithMock(manager.greenpool, 'spawn')
manager.greenpool.spawn(old_stack.update, stack).AndReturn(
stack.t, stack.parameters).AndReturn(stack)
self.m.StubOutWithMock(stack, 'validate')
- error = {'Description': 'fubar'}
+ error = 'fubar'
stack.validate().AndReturn(error)
self.m.StubOutWithMock(manager.greenpool, 'spawn')
result = self.man.update_stack(self.ctx, old_stack.identifier(),
template, params, {})
- self.assertEqual(result, error)
+ self.assertEqual(result, {'Description': error})
self.m.VerifyAll()
def test_stack_update_nonexist(self):