#NEWLINE# def test_api_exists( self , monkeypatch ) : #NEWLINE# #INDENT# '\n                Just test that all fw have all the API specified.\n        ' #NEWLINE# for framework in FRAMEWORKS : #NEWLINE# #INDENT# for ( module , items ) in MODULES . items ( ) : #NEWLINE# #INDENT# module_obj = __import__ ( ( 'calvin.runtime.south.plugins.async.%s.%s' % ( framework , module ) ) , globals = globals ( ) , fromlist = [ '' ] ) #NEWLINE# for ( item , info ) in items . items ( ) : #NEWLINE# #INDENT# item_obj = getattr ( module_obj , item , None ) #NEWLINE# comp_obj = info [ 'comp' ] #NEWLINE# assert item_obj #NEWLINE# assert ( type ( item_obj ) == type ( comp_obj ) ) #NEWLINE# if ( info [ 'type' ] == 'class' ) : #NEWLINE# #INDENT# for item_name in dir ( item_obj ) : #NEWLINE# #INDENT# if ( not item_name . startswith ( '_' ) ) : #NEWLINE# #INDENT# a_obj = getattr ( item_obj , item_name ) #NEWLINE# c_obj = getattr ( comp_obj , item_name , None ) #NEWLINE# if callable ( a_obj ) : #NEWLINE# #INDENT# assert function_check ( a_obj , c_obj ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# assert ( type ( a_obj ) == type ( c_obj ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( info [ 'type' ] == 'function' ) : #NEWLINE# #INDENT# assert function_check ( module_obj , comp_obj )