Exemplo n.º 1
0
    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.")
Exemplo n.º 2
0
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, [])
Exemplo n.º 3
0
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, [])
Exemplo n.º 4
0
 def setUp(self):
     super(StoreAndForwardTestCase, self).setUp()
     self.store = StoreAndForward()
Exemplo n.º 5
0
 def setUp(self):
     super(StoreAndForwardTestCase, self).setUp()
     self.store = StoreAndForward()