def test_load_with_exception_in_imp_read_module( self ):
     lmod = ModuleLoader()
     with patch( 'os.walk' ) as os.walk:
         os.walk.return_value = ["abc"]
         with patch( 'imp.find_module' ) as find_module:
             find_module.side_effect = ImportError( "ImportError in read_module" )
             data = {'current values': 'abc'}
             lmod.load( data )
             find_module.assert_called_once_with( "c", ["steps"] )
 def test_load_with_exception_in_package_instantiate_me( self ):
     lmod = ModuleLoader()
     with patch( 'os.walk' ) as os.walk:
         os.walk.return_value = ["abc"]
         with patch( 'imp.find_module' ) as find_module:
             find_module.return_value = ['a', 'b', 'c']
             with patch( 'imp.load_module' ) as load_module:
                 with patch( 'housemonitor.lib.moduleloader.ModuleLoader.get_class_name' ) as get_class_name:
                     with patch( 'housemonitor.lib.moduleloader.ModuleLoader.close_file' ) as close_file:
                         get_class_name.side_effect = AttributeError( "" )
                         data = {'current values': 'abc'}
                         lmod.load( data )
                         load_module.assert_called_once_with( "c", "a", "b", "c" )
                         find_module.assert_called_once_with( 'c', ['steps'] )
                         close_file.assert_called_once()
Esempio n. 3
0
    def run(self):

        self.logger.debug('Setting up global_data')
        global_data = {}
        global_data[Constants.GlobalData.CURRENT_VALUES] = CurrentValues()
        global_data[Constants.GlobalData.OPTIONS] = self.options
        global_data[Constants.GlobalData.ARGS] = self.args
        global_data[Constants.GlobalData.START_TIME] = datetime.utcnow()
        global_data[Constants.GlobalData.INPUT_QUEUE] = HMQueue("Input")

        self.module_loader = ModuleLoader()
        self.module_loader.load(global_data)

        self.startOutputs(global_data)

        self.startInputs(global_data)

        self.pubAid = PubSubAid()

        # Endless loop will never return
        self.input.input()

        self.logger.debug("Exiting")
 def test_file_name( self ):
     m = ModuleLoader()
     self.assertEqual( m.file_name(), 'housemonitor.lib.moduleloader' )
 def test_loadm( self ):
     lmod = ModuleLoader()
     data = {'current values': 'abc'}
     lmod.load( data )