@ -20,46 +20,50 @@ from heatclient.common import utils
from heatclient . v1 import resources
class ResourceManagerTest ( testtools . TestCase ) :
class FakeAPI ( object ) :
""" Fake API and ensure request url is correct. """
def setUp ( self ) :
super ( ResourceManagerTest , self ) . setUp ( )
self . m = mox . Mox ( )
self . addCleanup ( self . m . UnsetStubs )
def __init__ ( self , expect , key ) :
self . expect = expect
self . key = key
def _base_test ( self , expect , key ) :
def get ( self , * args , * * kwargs ) :
assert ( ' GET ' , args [ 0 ] ) == self . expect
class FakeAPI ( object ) :
""" Fake API and ensure request url is correct. """
def json_request ( self , * args , * * kwargs ) :
assert args == self . expect
ret = self . key and { self . key : [ ] } or { }
return { } , { self . key : ret }
def get ( self , * args , * * kwargs ) :
assert ( ' GET ' , args [ 0 ] ) == expect
def raw_request ( self , * args , * * kwargs ) :
assert args == self . expect
return { }
def json_request ( self , * args , * * kwargs ) :
assert args == expect
ret = key and { key : [ ] } or { }
return { } , { key : ret }
def head ( self , url , * * kwargs ) :
return self . json_request ( " HEAD " , url , * * kwargs )
def raw_request ( self , * args , * * kwargs ) :
assert args == expect
return { }
def post ( self , url , * * kwargs ) :
return self . json_request ( " POST " , url , * * kwargs )
def head ( self , url , * * kwargs ) :
return self . json_request ( " HEAD " , url , * * kwargs )
def put ( self , url , * * kwargs ) :
return self . json_request ( " PUT " , url , * * kwargs )
def post ( self , url , * * kwargs ) :
return self . json_request ( " POST " , url , * * kwargs )
def delete ( self , url , * * kwargs ) :
return self . raw_request ( " DELETE " , url , * * kwargs )
def put ( self , url , * * kwargs ) :
return self . json_request ( " P UT " , url , * * kwargs )
def patch ( self , url , * * kwargs ) :
return self . json_request ( " P ATCH " , url , * * kwargs )
def delete ( self , url , * * kwargs ) :
return self . raw_request ( " DELETE " , url , * * kwargs )
def patch ( self , url , * * kwargs ) :
return self . json_request ( " PATCH " , url , * * kwargs )
class ResourceManagerTest ( testtools . TestCase ) :
manager = resources . ResourceManager ( FakeAPI ( ) )
def setUp ( self ) :
super ( ResourceManagerTest , self ) . setUp ( )
self . m = mox . Mox ( )
self . addCleanup ( self . m . UnsetStubs )
def _base_test ( self , expect , key ) :
manager = resources . ResourceManager ( FakeAPI ( expect , key ) )
self . m . StubOutWithMock ( manager , ' _resolve_stack_id ' )
self . m . StubOutWithMock ( utils , ' get_response_body ' )
utils . get_response_body ( mox . IgnoreArg ( ) ) . AndReturn (
@ -106,6 +110,21 @@ class ResourceManagerTest(testtools.TestCase):
manager . get ( * * fields )
self . m . VerifyAll ( )
def _test_list ( self , fields , expect ) :
key = ' resources '
class FakeResponse ( object ) :
def json ( self ) :
return { key : { } }
class FakeClient ( object ) :
def get ( self , * args , * * kwargs ) :
assert args [ 0 ] == expect
return FakeResponse ( )
manager = resources . ResourceManager ( FakeClient ( ) )
manager . list ( * * fields )
def test_list ( self ) :
self . _test_list (
fields = { ' stack_id ' : ' teststack ' } ,
@ -135,21 +154,6 @@ class ResourceManagerTest(testtools.TestCase):
} , True )
)
def _test_list ( self , fields , expect ) :
key = ' resources '
class FakeResponse ( object ) :
def json ( self ) :
return { key : { } }
class FakeClient ( object ) :
def get ( self , * args , * * kwargs ) :
assert args [ 0 ] == expect
return FakeResponse ( )
manager = resources . ResourceManager ( FakeClient ( ) )
manager . list ( * * fields )
def test_metadata ( self ) :
fields = { ' stack_id ' : ' teststack ' ,
' resource_name ' : ' testresource ' }