def startPoller(self): "Start the poller" self._startTime = time.time() self._plugin_number = 0 # Poller enable ? if not self._enable: self._logger.warning( "Poller disable, configuration enable = false") exit(2) # Test du dernier poller if not self.pollerTimeToGo(): return False if not self._myInfo_hostID: self._logger.warning( "Poller disable, configuration host_id = None") exit(2) # load cache for DERIVE and store and forward message with CacheLastValue(cache_file='/dev/shm/numeter_poller_cache.json', logger='numeter') as self._cache, \ StoreAndForward(cache_file='/dev/shm/numeter_poller_storeandforward.json', logger='numeter') as self._store_and_forward: self.loadModules() # End log time execution self._logger.warning("---- End : numeter_poller, " + str(self._plugin_number) + " Plugins in " + str(time.time() - self._startTime) + ", seconds.")
class StoreAndForwardTestCase(test_base.TestCase): def setUp(self): super(StoreAndForwardTestCase, self).setUp() self.store = StoreAndForward() def tearDown(self): super(StoreAndForwardTestCase, self).tearDown() def test_dump_cache(self): # dump need write _cache default {} with mock.patch('__builtin__.open', mock.mock_open(), create=True) as file_mock: handle = file_mock() self.store._dump_cache() handle.write.assert_called_once_with('[]') def test_load_cache(self): # load cache from file with mock.patch('__builtin__.open', mock.mock_open(), create=True) as file_mock: file_mock.return_value.read.return_value = '["foo", "bar"]' self.store._load_cache() self.assertEquals(self.store._cache, ['foo', 'bar']) def test_add_message(self): # save message msgType = 'foo' plugin = 'bar' msgContent = { 'bla': 'moo' } self.store.add_message(msgType, plugin, msgContent) self.assertEquals(self.store._cache, [{ 'msgContent': msgContent, 'msgType': msgType, 'plugin': plugin }]) def test_consume(self): # Empty storage self.store._cache = [1, 2] self.store.consume().next() self.assertEquals(self.store._cache, [1]) self.store.consume().next() self.assertEquals(self.store._cache, [])
class StoreAndForwardTestCase(test_base.TestCase): def setUp(self): super(StoreAndForwardTestCase, self).setUp() self.store = StoreAndForward() def tearDown(self): super(StoreAndForwardTestCase, self).tearDown() def test_dump_cache(self): # dump need write _cache default {} with mock.patch('__builtin__.open', mock.mock_open(), create=True) as file_mock: handle = file_mock() self.store._dump_cache() handle.write.assert_called_once_with('[]') def test_load_cache(self): # load cache from file with mock.patch('__builtin__.open', mock.mock_open(), create=True) as file_mock: file_mock.return_value.read.return_value = '["foo", "bar"]' self.store._load_cache() self.assertEquals(self.store._cache, ['foo', 'bar']) def test_add_message(self): # save message msgType = 'foo'; plugin = 'bar'; msgContent = { 'bla': 'moo' } self.store.add_message(msgType, plugin, msgContent) self.assertEquals(self.store._cache, [{'msgContent': msgContent, 'msgType': msgType, 'plugin': plugin}]) def test_consume(self): # Empty storage self.store._cache = [1, 2] self.store.consume().next() self.assertEquals(self.store._cache, [1]) self.store.consume().next() self.assertEquals(self.store._cache, [])
def setUp(self): super(StoreAndForwardTestCase, self).setUp() self.store = StoreAndForward()