def test_collect(self): """Test ZHMCUsageCollector.collect""" session = zhmcclient_mock.FakedSession("fake-host", "fake-hmc", "2.13.1", "1.8") yaml_metric_groups = {"metric-group": {"prefix": "pre", "fetch": True}} context = (zhmc_prometheus_exporter.create_metrics_context( session, yaml_metric_groups, "filename")) yaml_metrics = { "metric-group": { "metric": { "percent": True, "exporter_name": "metric", "exporter_desc": "metric" } } } my_zhmc_usage_collector = (zhmc_prometheus_exporter.ZHMCUsageCollector( context, yaml_metric_groups, yaml_metrics, "filename")) collected = list(my_zhmc_usage_collector.collect()) self.assertEqual(len(collected), 1) self.assertEqual(type(collected[0]), prometheus_client.core.GaugeMetricFamily) self.assertEqual(collected[0].name, "zhmc_pre_metric") self.assertEqual(collected[0].documentation, "metric") self.assertEqual(collected[0].type, "gauge") self.assertEqual(collected[0].samples, []) self.assertEqual(collected[0]._labelnames, ("resource", ))
def test_init(self): """Tests ZHMCUsageCollector.__init__.""" cred_dict = {"hmc": "192.168.0.0", "userid": "user", "password": "******"} session = zhmcclient_mock.FakedSession("fake-host", "fake-hmc", "2.13.1", "1.8") yaml_metric_groups = {"metric-group": {"prefix": "pre", "fetch": True}} context = (zhmc_prometheus_exporter.create_metrics_context( session, yaml_metric_groups, "filename")) yaml_metrics = { "metric-group": { "metric": { "percent": True, "exporter_name": "metric", "exporter_desc": "metric" } } } my_zhmc_usage_collector = (zhmc_prometheus_exporter.ZHMCUsageCollector( cred_dict, session, context, yaml_metric_groups, yaml_metrics, "filename", "filename")) self.assertEqual(my_zhmc_usage_collector.yaml_creds, cred_dict) self.assertEqual(my_zhmc_usage_collector.session, session) self.assertEqual(my_zhmc_usage_collector.context, context) self.assertEqual(my_zhmc_usage_collector.yaml_metric_groups, yaml_metric_groups) self.assertEqual(my_zhmc_usage_collector.yaml_metrics, yaml_metrics) self.assertEqual(my_zhmc_usage_collector.filename_metrics, "filename") self.assertEqual(my_zhmc_usage_collector.filename_creds, "filename")
def test_init(self): """Tests ZHMCUsageCollector.__init__.""" cred_dict = {"hmc": "192.168.0.0", "userid": "user", "password": "******"} session = setup_faked_session() yaml_metric_groups = { "dpm-system-usage-overview": { "prefix": "pre", "fetch": True } } context, resources = zhmc_prometheus_exporter.create_metrics_context( session, yaml_metric_groups, '2.14') yaml_metrics = { "dpm-system-usage-overview": { "processor-usage": { "percent": True, "exporter_name": "processor_usage", "exporter_desc": "processor_usage description" } } } extra_labels = {} my_zhmc_usage_collector = zhmc_prometheus_exporter.ZHMCUsageCollector( cred_dict, session, context, resources, yaml_metric_groups, yaml_metrics, extra_labels, "filename", "filename", None, '2.14') self.assertEqual(my_zhmc_usage_collector.yaml_creds, cred_dict) self.assertEqual(my_zhmc_usage_collector.session, session) self.assertEqual(my_zhmc_usage_collector.context, context) self.assertEqual(my_zhmc_usage_collector.yaml_metric_groups, yaml_metric_groups) self.assertEqual(my_zhmc_usage_collector.yaml_metrics, yaml_metrics) self.assertEqual(my_zhmc_usage_collector.filename_metrics, "filename") self.assertEqual(my_zhmc_usage_collector.filename_creds, "filename")
def test_collect(self): """Test ZHMCUsageCollector.collect""" cred_dict = {"hmc": "192.168.0.0", "userid": "user", "password": "******"} session = setup_faked_session() yaml_metric_groups = { "dpm-system-usage-overview": { "prefix": "pre", "fetch": True } } context, resources = zhmc_prometheus_exporter.create_metrics_context( session, yaml_metric_groups, '2.14') yaml_metrics = { "dpm-system-usage-overview": { "processor-usage": { "percent": True, "exporter_name": "processor_usage", "exporter_desc": "processor_usage description" } } } extra_labels = {} my_zhmc_usage_collector = zhmc_prometheus_exporter.ZHMCUsageCollector( cred_dict, session, context, resources, yaml_metric_groups, yaml_metrics, extra_labels, "filename", "filename", None, '2.14') collected = list(my_zhmc_usage_collector.collect()) self.assertEqual(len(collected), 1) self.assertEqual(type(collected[0]), prometheus_client.core.GaugeMetricFamily) self.assertEqual(collected[0].name, "zhmc_pre_processor_usage") self.assertEqual(collected[0].documentation, "processor_usage description") self.assertEqual(collected[0].type, "gauge") sample1 = prometheus_client.samples.Sample( name='zhmc_pre_processor_usage', labels={'resource': 'cpc_1'}, value=0.01) self.assertEqual(collected[0].samples, [sample1]) # pylint: disable=protected-access self.assertEqual(collected[0]._labelnames, ("resource", ))