def setUp(self): config = get_collector_config('PowerDNSCollector', { 'interval': 1, 'bin': 'true', 'use_sudo': False, }) self.collector = PowerDNSCollector(config, None)
class TestPowerDNSCollector(CollectorTestCase): def setUp(self): config = get_collector_config('PowerDNSCollector', { 'interval': 1, 'bin': 'true', 'use_sudo': False, }) self.collector = PowerDNSCollector(config, None) @patch('os.access', Mock(return_value=True)) @patch.object(Collector, 'publish') def test_should_work_with_fake_data(self, publish_mock): with patch( 'subprocess.Popen.communicate', Mock(return_value=(self.getFixture( 'pdns_control-2.9.22.6-1.el6-A').getvalue(), ''))): self.collector.collect() self.assertPublishedMany(publish_mock, {}) with patch( 'subprocess.Popen.communicate', Mock(return_value=(self.getFixture( 'pdns_control-2.9.22.6-1.el6-B').getvalue(), ''))): self.collector.collect() metrics = { 'corrupt-packets': 1.0, 'deferred-cache-inserts': 2.0, 'deferred-cache-lookup': 3.0, 'latency': 4.0, 'packetcache-hit': 5.0, 'packetcache-miss': 6.0, 'packetcache-size': 7.0, 'qsize-q': 8.0, 'query-cache-hit': 9.0, 'query-cache-miss': 10.0, 'recursing-answers': 11.0, 'recursing-questions': 12.0, 'servfail-packets': 13.0, 'tcp-answers': 14.0, 'tcp-queries': 15.0, 'timedout-packets': 16.0, 'udp-answers': 17.0, 'udp-queries': 18.0, 'udp4-answers': 19.0, 'udp4-queries': 20.0, 'udp6-answers': 21.0, 'udp6-queries': 22.0, } self.setDocExample(collector=self.collector.__class__.__name__, metrics=metrics, defaultpath=self.collector.config['path']) self.assertPublishedMany(publish_mock, metrics)
class TestPowerDNSCollector(CollectorTestCase): def setUp(self): config = get_collector_config('PowerDNSCollector', { 'interval': 1, 'bin': 'true', 'use_sudo': False, }) self.collector = PowerDNSCollector(config, None) @patch('os.access', Mock(return_value=True)) @patch.object(Collector, 'publish') def test_should_work_with_fake_data(self, publish_mock): with patch('subprocess.Popen.communicate', Mock(return_value=( self.getFixture('pdns_control-2.9.22.6-1.el6-A').getvalue(), ''))): self.collector.collect() self.assertPublishedMany(publish_mock, {}) with patch('subprocess.Popen.communicate', Mock(return_value=( self.getFixture('pdns_control-2.9.22.6-1.el6-B').getvalue(), ''))): self.collector.collect() metrics = { 'corrupt-packets': 1.0, 'deferred-cache-inserts': 2.0, 'deferred-cache-lookup': 3.0, 'latency': 4.0, 'packetcache-hit': 5.0, 'packetcache-miss': 6.0, 'packetcache-size': 7.0, 'qsize-q': 8.0, 'query-cache-hit': 9.0, 'query-cache-miss': 10.0, 'recursing-answers': 11.0, 'recursing-questions': 12.0, 'servfail-packets': 13.0, 'tcp-answers': 14.0, 'tcp-queries': 15.0, 'timedout-packets': 16.0, 'udp-answers': 17.0, 'udp-queries': 18.0, 'udp4-answers': 19.0, 'udp4-queries': 20.0, 'udp6-answers': 21.0, 'udp6-queries': 22.0, } self.setDocExample(collector=self.collector.__class__.__name__, metrics=metrics, defaultpath=self.collector.config['path']) self.assertPublishedMany(publish_mock, metrics)