def test_apptuit_sanitizer_of_reporter(mock_post): """ Test that apptuit_sanitizer of reporter works """ mock_post.return_value.status_code = 200 token = "asdashdsauh_8aeraerf" tags = { "host": "localhost", u"region-loc$-本語": u"us-east-1-本語", "service.type/name": "web-server" } registry = MetricsRegistry() reporter = ApptuitReporter( sanitize_mode="apptuit", registry=registry, api_endpoint="http://localhost", reporting_interval=1, token=token, tags=tags, ) assert_equals(reporter.client.sanitizer, sanitize_name_apptuit) unicode_counter = registry.counter(u'abc.日本語') unicode_counter.inc(1) dps = reporter._collect_data_points(reporter.registry) payload = reporter.client._create_payload_from_datapoints(dps) assert_equals(payload[0]['metric'], u'abc.日本語.count') assert_equals( payload[0]['tags'], { "host": "localhost", u"region-loc_-本語": u"us-east-1-本語", "service.type/name": "web-server" }) assert_equals(payload[0]['value'], 1) registry.clear() cput = registry.counter('7&&cpu-time/seconds{"total-%": "100"}') cput.inc(1) dps = reporter._collect_data_points(reporter.registry) payload = reporter.client._create_payload_from_datapoints(dps) assert_equals(len(payload), 1) assert_equals(payload[0]['metric'], "7_cpu-time/seconds.count") assert_equals( payload[0]['tags'], { 'host': 'localhost', u'region-loc_-本語': u'us-east-1-本語', 'service.type/name': 'web-server', 'total-_': '100' }) assert_equals(payload[0]['value'], 1) reporter.report_now() dps = reporter._collect_data_points(reporter._meta_metrics_registry) payload = reporter.client._create_payload_from_datapoints(dps) assert_equals(len(payload), 18) payload = sorted(payload, key=lambda x: x['metric']) assert_equals(payload[0]['metric'], "apptuit.reporter.send.failed.count") assert_equals(payload[1]['metric'], "apptuit.reporter.send.successful.count") assert_equals(payload[11]['metric'], "apptuit.reporter.send.time.count") assert_equals(payload[17]['metric'], "apptuit.reporter.send.total.count")
def test_prometheus_sanitizer_of_reporter_disabled(mock_post): """ Test that prometheus_sanitizer of reporter is disabled """ mock_post.return_value.status_code = 200 token = "asdashdsauh_8aeraerf" tags = { "host": "localhost", u"region-本語": "us-east-1", "service": "web-server" } registry = MetricsRegistry() reporter = ApptuitReporter(sanitize_mode=None, registry=registry, api_endpoint="http://localhost", reporting_interval=1, token=token, tags=tags) unicode_counter = registry.counter(u'abc.日本語') unicode_counter.inc(1) dps = reporter._collect_data_points(reporter.registry) payload = reporter.client._create_payload_from_datapoints(dps) assert_equals(payload[0]['metric'], u'abc.日本語.count') assert_equals(payload[0]['tags'], tags) assert_equals(payload[0]['value'], 1) registry.clear() cput = registry.counter("cpu.time") cput.inc(1) dps = reporter._collect_data_points(reporter.registry) payload = reporter.client._create_payload_from_datapoints(dps) assert_equals(len(payload), 1) assert_equals(payload[0]['metric'], "cpu.time.count") assert_equals(payload[0]['value'], 1) reporter.report_now() dps = reporter._collect_data_points(reporter._meta_metrics_registry) payload = reporter.client._create_payload_from_datapoints(dps) payload = sorted(payload, key=lambda x: x['metric']) assert_equals(len(dps), 18) assert_equals(payload[0]['metric'], "apptuit.reporter.send.failed.count") assert_equals(payload[1]['metric'], "apptuit.reporter.send.successful.count") assert_equals(payload[11]['metric'], "apptuit.reporter.send.time.count") assert_equals(payload[17]['metric'], "apptuit.reporter.send.total.count")