Example #1
0
class TestScribeCollector(CollectorTestCase):

    def setUp(self):
        config = get_collector_config('ScribeCollector', {
            'ports': '1464',
            'bin': 'true'
        })

        self.collector = ScribeCollector(config, None)

    @patch.object(Collector, 'publish')
    def test_metrics(self, publish_mock):
        fixtures = [
            (self.getFixture('response1.txt').getvalue(), ''),
            (self.getFixture('response2.txt').getvalue(), '')]

        patch_communicate = patch(
            'subprocess.Popen.communicate',
            Mock(side_effect=lambda *args: fixtures.pop(0)))

        patch_communicate.start()
        self.collector.collect()
        # Clear the queue
        self.assertPublishedMany(publish_mock, {})
        self.collector.collect()
        patch_communicate.stop()

        published_metrics = {
            'denied_queue_size.notification': 0.0,
            'received_good.notification': 2.0,
            'received_good.scribe_overall': 500000.0,
            'denied_queue_size.scribe_overall': 10000.0
        }

        self.assertPublishedMany(publish_mock, published_metrics)
Example #2
0
    def setUp(self):
        config = get_collector_config('ScribeCollector', {
            'ports': '1464',
            'bin': 'true'
        })

        self.collector = ScribeCollector(config, None)
Example #3
0
class ScribeCollectorTestCase(CollectorTestCase):

    def setUp(self):
        config = get_collector_config('ScribeCollector', {})
        self.collector = ScribeCollector(config, None)

    def test_import(self):
        self.assertTrue(ScribeCollector)

    def test_key_to_metric(self):
        fn = self.collector.key_to_metric
        self.assertEqual(fn("foo! bar!"), "foo__bar_")
        self.assertEqual(fn(" foo:BAR"), "_foo_BAR")
        self.assertEqual(fn("the_same"), "the_same")

    def test_get_scribe_stats(self):
        scribe_ctrl_output = self.getFixture('scribe_ctrl').getvalue()
        expected_scribe_stats = json.loads(self.getFixture(
                                           'scribe_ctrl_stats.json')
                                           .getvalue())

        with patch.object(ScribeCollector, 'get_scribe_ctrl_output',
                          Mock(return_value=scribe_ctrl_output)):
            scribe_stats = self.collector.get_scribe_stats()

        self.assertEqual(dict(scribe_stats), expected_scribe_stats)
Example #4
0
class ScribeCollectorTestCase(CollectorTestCase):
    def setUp(self):
        config = get_collector_config('ScribeCollector', {})
        self.collector = ScribeCollector(config, None)

    def test_import(self):
        self.assertTrue(ScribeCollector)

    def test_key_to_metric(self):
        fn = self.collector.key_to_metric
        self.assertEqual(fn("foo! bar!"), "foo__bar_")
        self.assertEqual(fn(" foo:BAR"), "_foo_BAR")
        self.assertEqual(fn("the_same"), "the_same")

    def test_get_scribe_stats(self):
        scribe_ctrl_output = self.getFixture('scribe_ctrl').getvalue()
        expected_scribe_stats = json.loads(
            self.getFixture('scribe_ctrl_stats.json').getvalue())

        with patch.object(ScribeCollector, 'get_scribe_ctrl_output',
                          Mock(return_value=scribe_ctrl_output)):
            scribe_stats = self.collector.get_scribe_stats()

        self.assertEqual(dict(scribe_stats), expected_scribe_stats)
Example #5
0
 def setUp(self):
     config = get_collector_config('ScribeCollector', {})
     self.collector = ScribeCollector(config, None)
Example #6
0
 def setUp(self):
     config = get_collector_config('ScribeCollector', {})
     self.collector = ScribeCollector(config, None)