|
|
|
@ -2037,8 +2037,9 @@ class StackTest(common.HeatTestCase):
|
|
|
|
|
self.assertEqual('foo', params.get('param1'))
|
|
|
|
|
self.assertEqual('bar', params.get('param2'))
|
|
|
|
|
|
|
|
|
|
@mock.patch.object(stack_object.Stack, 'delete')
|
|
|
|
|
@mock.patch.object(raw_template_object.RawTemplate, 'delete')
|
|
|
|
|
def test_mark_complete_create(self, mock_delete):
|
|
|
|
|
def test_mark_complete_create(self, mock_tmpl_delete, mock_stack_delete):
|
|
|
|
|
tmpl = template.Template({
|
|
|
|
|
'HeatTemplateFormatVersion': '2012-12-12',
|
|
|
|
|
'Resources': {
|
|
|
|
@ -2048,16 +2049,21 @@ class StackTest(common.HeatTestCase):
|
|
|
|
|
|
|
|
|
|
tmpl_stack = stack.Stack(self.ctx, 'test', tmpl)
|
|
|
|
|
tmpl_stack.store()
|
|
|
|
|
tmpl_stack.action = tmpl_stack.CREATE
|
|
|
|
|
tmpl_stack.status = tmpl_stack.IN_PROGRESS
|
|
|
|
|
tmpl_stack.current_traversal = 'some-traversal'
|
|
|
|
|
tmpl_stack.mark_complete('some-traversal')
|
|
|
|
|
self.assertEqual(tmpl_stack.prev_raw_template_id,
|
|
|
|
|
tmpl_stack.t.id)
|
|
|
|
|
self.assertFalse(mock_delete.called)
|
|
|
|
|
None)
|
|
|
|
|
self.assertFalse(mock_tmpl_delete.called)
|
|
|
|
|
self.assertFalse(mock_stack_delete.called)
|
|
|
|
|
self.assertEqual(tmpl_stack.status, tmpl_stack.COMPLETE)
|
|
|
|
|
|
|
|
|
|
@mock.patch.object(stack_object.Stack, 'delete')
|
|
|
|
|
@mock.patch.object(raw_template_object.RawTemplate, 'delete')
|
|
|
|
|
@mock.patch.object(stack.Stack, 'store')
|
|
|
|
|
def test_mark_complete_update(self, mock_store, mock_delete):
|
|
|
|
|
def test_mark_complete_update(self, mock_store, mock_tmpl_delete,
|
|
|
|
|
mock_stack_delete):
|
|
|
|
|
tmpl = template.Template({
|
|
|
|
|
'HeatTemplateFormatVersion': '2012-12-12',
|
|
|
|
|
'Resources': {
|
|
|
|
@ -2069,16 +2075,45 @@ class StackTest(common.HeatTestCase):
|
|
|
|
|
tmpl_stack.id = 2
|
|
|
|
|
tmpl_stack.t.id = 2
|
|
|
|
|
tmpl_stack.prev_raw_template_id = 1
|
|
|
|
|
tmpl_stack.action = tmpl_stack.UPDATE
|
|
|
|
|
tmpl_stack.status = tmpl_stack.IN_PROGRESS
|
|
|
|
|
tmpl_stack.current_traversal = 'some-traversal'
|
|
|
|
|
tmpl_stack.mark_complete('some-traversal')
|
|
|
|
|
self.assertEqual(tmpl_stack.prev_raw_template_id,
|
|
|
|
|
tmpl_stack.t.id)
|
|
|
|
|
mock_delete.assert_called_once_with(self.ctx, 1)
|
|
|
|
|
None)
|
|
|
|
|
self.assertFalse(mock_stack_delete.called)
|
|
|
|
|
mock_tmpl_delete.assert_called_once_with(self.ctx, 1)
|
|
|
|
|
self.assertEqual(tmpl_stack.status, tmpl_stack.COMPLETE)
|
|
|
|
|
|
|
|
|
|
@mock.patch.object(stack_object.Stack, 'delete')
|
|
|
|
|
@mock.patch.object(raw_template_object.RawTemplate, 'delete')
|
|
|
|
|
@mock.patch.object(stack.Stack, 'store')
|
|
|
|
|
def test_mark_complete_stale_traversal(self, mock_store, mock_delete):
|
|
|
|
|
def test_mark_complete_update_delete(self, mock_store, mock_tmpl_delete,
|
|
|
|
|
mock_stack_delete):
|
|
|
|
|
tmpl = template.Template({
|
|
|
|
|
'HeatTemplateFormatVersion': '2012-12-12',
|
|
|
|
|
'Description': 'Empty Template'
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
tmpl_stack = stack.Stack(self.ctx, 'test', tmpl)
|
|
|
|
|
tmpl_stack.id = 2
|
|
|
|
|
tmpl_stack.t.id = 2
|
|
|
|
|
tmpl_stack.prev_raw_template_id = 1
|
|
|
|
|
tmpl_stack.action = tmpl_stack.DELETE
|
|
|
|
|
tmpl_stack.status = tmpl_stack.IN_PROGRESS
|
|
|
|
|
tmpl_stack.current_traversal = 'some-traversal'
|
|
|
|
|
tmpl_stack.mark_complete('some-traversal')
|
|
|
|
|
self.assertEqual(tmpl_stack.prev_raw_template_id,
|
|
|
|
|
None)
|
|
|
|
|
mock_tmpl_delete.assert_called_once_with(self.ctx, 1)
|
|
|
|
|
mock_stack_delete.assert_called_once_with(self.ctx, 2)
|
|
|
|
|
self.assertEqual(tmpl_stack.status, tmpl_stack.COMPLETE)
|
|
|
|
|
|
|
|
|
|
@mock.patch.object(stack_object.Stack, 'delete')
|
|
|
|
|
@mock.patch.object(raw_template_object.RawTemplate, 'delete')
|
|
|
|
|
@mock.patch.object(stack.Stack, 'store')
|
|
|
|
|
def test_mark_complete_stale_traversal(self, mock_store, mock_tmpl_delete,
|
|
|
|
|
mock_stack_delete):
|
|
|
|
|
tmpl = template.Template({
|
|
|
|
|
'HeatTemplateFormatVersion': '2012-12-12',
|
|
|
|
|
'Resources': {
|
|
|
|
@ -2089,7 +2124,8 @@ class StackTest(common.HeatTestCase):
|
|
|
|
|
tmpl_stack = stack.Stack(self.ctx, 'test', tmpl)
|
|
|
|
|
tmpl_stack.current_traversal = 'new-traversal'
|
|
|
|
|
tmpl_stack.mark_complete('old-traversal')
|
|
|
|
|
self.assertFalse(mock_delete.called)
|
|
|
|
|
self.assertFalse(mock_tmpl_delete.called)
|
|
|
|
|
self.assertFalse(mock_stack_delete.called)
|
|
|
|
|
self.assertIsNone(tmpl_stack.prev_raw_template_id)
|
|
|
|
|
self.assertFalse(mock_store.called)
|
|
|
|
|
|
|
|
|
|