Parameters object. The database ID may also be initialised, if the
stack is already in the database.
'''
+
+ if '/' in stack_name:
+ raise ValueError(_('Stack name may not contain "/"'))
+
self.id = stack_id
self.context = context
self.clients = Clients(context)
return ResourceClass(name, json, stack)
def __init__(self, name, json_snippet, stack):
+ if '/' in name:
+ raise ValueError(_('Resource name may not contain "/"'))
+
self.references = []
self.stack = stack
self.context = stack.context
self.assertEqual(result, {'Description': error})
self.m.VerifyAll()
+ def test_stack_create_invalid_stack_name(self):
+ stack_name = 'service_create/test_stack'
+ stack = get_wordpress_stack('test_stack', self.ctx)
+
+ self.assertRaises(ValueError, self.man.create_stack,
+ self.ctx, stack_name,
+ stack.t, {}, {})
+
+ def test_stack_create_invalid_resource_name(self):
+ stack_name = 'service_create_test_stack_invalid_res'
+ stack = get_wordpress_stack(stack_name, self.ctx)
+ tmpl = dict(stack.t)
+ tmpl['Resources']['Web/Server'] = tmpl['Resources']['WebServer']
+ del tmpl['Resources']['WebServer']
+
+ self.assertRaises(ValueError, self.man.create_stack,
+ self.ctx, stack_name,
+ stack.t, {}, {})
+
def test_stack_delete(self):
stack_name = 'service_delete_test_stack'
stack = get_wordpress_stack(stack_name, self.ctx)