def test_build_similar_elements_msg(self, aggregator):
        check = AgentCheck()

        check.gauge('test.another_similar_metric', 0)
        check.gauge('test.very_different_metric', 0)
        check.gauge('test.most_similar_metric', 0)
        check.gauge('test.very_very_different', 0)

        expected_metric = MetricStub("test.similar_metric", None, None, None,
                                     None)
        actual_msg = similar.build_similar_elements_msg(
            expected_metric, aggregator._metrics)

        expected_msg = '''
Expected:
        MetricStub(name='test.similar_metric', type=None, value=None, tags=None, hostname=None)
Similar submitted:
Score   Most similar
0.88    MetricStub(name='test.most_similar_metric', type=0, value=0.0, tags=[], hostname='')
0.83    MetricStub(name='test.another_similar_metric', type=0, value=0.0, tags=[], hostname='')
0.62    MetricStub(name='test.very_different_metric', type=0, value=0.0, tags=[], hostname='')
0.42    MetricStub(name='test.very_very_different', type=0, value=0.0, tags=[], hostname='')
        '''
        assert expected_msg.strip() == actual_msg.strip(
        ), "Actual message:\n" + actual_msg
 def _assert(condition, msg, expected_stub, submitted_elements):
     new_msg = msg
     if not condition:  # It's costly to build the message with similar metrics, so it's built only on failure.
         new_msg = "{}\n{}".format(
             msg,
             build_similar_elements_msg(expected_stub, submitted_elements))
     assert condition, new_msg
Beispiel #3
0
    def test_build_similar_elements_msg(self, aggregator):
        check = AgentCheck()

        check.gauge('test.another_similar_metric', 0)
        check.gauge('test.very_different_metric', 0)
        check.gauge('test.most_similar_metric', 0)
        check.gauge('test.very_very_different', 0)

        expected_metric = MetricStub("test.similar_metric", None, None, None,
                                     None, None)
        actual_msg = similar.build_similar_elements_msg(
            expected_metric, aggregator._metrics).strip()

        expected_msg = '''
    Expected:
        MetricStub(name='test.similar_metric', type=None, value=None, tags=None, hostname=None, device=None, flush_first_value=None)
Similar submitted:
Score   Most similar
0.88    MetricStub(name='test.most_similar_metric', type=0, value=0.0, tags=[], hostname='', device=None, flush_first_value=False)
0.83    MetricStub(name='test.another_similar_metric', type=0, value=0.0, tags=[], hostname='', device=None, flush_first_value=False)
0.62    MetricStub(name='test.very_different_metric', type=0, value=0.0, tags=[], hostname='', device=None, flush_first_value=False)
0.42    MetricStub(name='test.very_very_different', type=0, value=0.0, tags=[], hostname='', device=None, flush_first_value=False)
    '''.strip()  # noqa: E501
        delta = difflib.ndiff([expected_msg], [actual_msg])
        assert expected_msg == actual_msg, delta