class TestInternalMetricWriter(BaseTestCase): def setUp(self): os.environ["CONTROLPLANE"] = "1" self.daemon = PBDaemon() self.daemon._publisher = Publisher() self.daemon._internal_publisher = Publisher() self.metric_writer = self.daemon.metricWriter() def testWriteInternalMetric(self): metric = ["name", 0.0, "now", {}] internal_metric = ["name", 0.0, "now", {"internal": True}] self.metric_writer.write_metric(*metric) self.metric_writer.write_metric(*internal_metric) self.assertEquals([tuple(internal_metric)], self.daemon._internal_publisher.queue) self.assertEquals([tuple(metric), tuple(internal_metric)], self.daemon._publisher.queue) def testInternalPublisherIsNone(self): self.daemon._internal_publisher = None del os.environ["CONTROLPLANE_CONSUMER_URL"] self.assertIsNone(self.daemon.internalPublisher()) def testInternalPublisherIsInstance(self): self.daemon._internal_publisher = None os.environ["CONTROLPLANE_CONSUMER_URL"] = "http://localhost" publisher = self.daemon.internalPublisher() from Products.ZenHub.metricpublisher.publisher import HttpPostPublisher self.assertIsInstance(publisher, HttpPostPublisher)
class TestInternalMetricWriter(BaseTestCase): def setUp(self): os.environ["CONTROLPLANE"] = "1" self.daemon = PBDaemon() self.daemon._publisher = Publisher() self.daemon._internal_publisher = Publisher() self.metric_writer = self.daemon.metricWriter() def testWriteInternalMetric(self): metric = ["name", 0.0, "now", {}] internal_metric = ["name", 0.0, "now", {"internal": True}] self.metric_writer.write_metric(*metric) self.metric_writer.write_metric(*internal_metric) self.assertEquals([tuple(internal_metric)], self.daemon._internal_publisher.queue) self.assertEquals( [tuple(metric), tuple(internal_metric)], self.daemon._publisher.queue) def testInternalPublisherIsNone(self): self.daemon._internal_publisher = None del os.environ["CONTROLPLANE_CONSUMER_URL"] self.assertIsNone(self.daemon.internalPublisher()) def testInternalPublisherIsInstance(self): self.daemon._internal_publisher = None os.environ["CONTROLPLANE_CONSUMER_URL"] = "http://localhost" publisher = self.daemon.internalPublisher() from Products.ZenHub.metricpublisher.publisher import HttpPostPublisher self.assertIsInstance(publisher, HttpPostPublisher)
class TestMetricWriter(BaseTestCase): def setUp(self): os.environ["CONTROLPLANE"] = "0" self.daemon = PBDaemon() self.daemon._publisher = Publisher() self.metric_writer = self.daemon.metricWriter() def testWriteMetric(self): metric = ["name", 0.0, "now", {}] self.metric_writer.write_metric(*metric) self.assertEquals([tuple(metric)], self.daemon._publisher.queue)