@ -851,3 +851,27 @@ class SwiftSignalTest(common.HeatTestCase):
self . assertEqual ( ( ' CREATE ' , ' COMPLETE ' ) , st . state )
wc = st [ ' test_wait_condition ' ]
self . assertEqual ( " null " , wc . FnGetAtt ( ' data ' ) )
@mock.patch.object ( swift . SwiftClientPlugin , ' _create ' )
@mock.patch.object ( resource . Resource , ' physical_resource_name ' )
def test_swift_get_object_404 ( self , mock_name , mock_swift ) :
st = create_stack ( swiftsignal_template )
handle = st [ ' test_wait_condition_handle ' ]
mock_swift_object = mock . Mock ( )
mock_swift . return_value = mock_swift_object
mock_swift_object . url = " http://fake-host.com:8080/v1/AUTH_1234 "
mock_swift_object . head_account . return_value = {
' x-account-meta-temp-url-key ' : ' 123456 '
}
obj_name = " %s - %s -abcdefghijkl " % ( st . name , handle . name )
mock_name . return_value = obj_name
mock_swift_object . get_container . return_value = cont_index ( obj_name , 2 )
mock_swift_object . get_object . side_effect = (
( obj_header , ' ' ) ,
swiftclient_client . ClientException (
" Object %s not found " % obj_name , http_status = 404 )
)
st . create ( )
self . assertEqual ( ( ' CREATE ' , ' COMPLETE ' ) , st . state )