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)
def setUp(self): config = get_collector_config('ScribeCollector', { 'ports': '1464', 'bin': 'true' }) self.collector = ScribeCollector(config, None)
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)
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)
def setUp(self): config = get_collector_config('ScribeCollector', {}) self.collector = ScribeCollector(config, None)