@ -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 )