def test_detector_should_be_able_to_calculate_total_probability(): detector = Detector() models.add_event('edge', 'edge_01', {u'cpu': u'2', u'mem': u'10'}, time.time()) event = helpers.get_fake_event() cpu_prob = detector.calculate_probability_by_metric("cpu", event) mem_prob = detector.calculate_probability_by_metric("mem", event) assert cpu_prob * mem_prob == detector.calculate_total_probability(event)
def test_detector_should_calculate_probability_for_each_metric(monkeypatch): event = helpers.get_fake_event() list_of_keys = ['cpu', 'mem'] def fake_calculate_probability_by_metric(key, event): list_of_keys.remove(key) return 1 detector = Detector() monkeypatch.setattr(detector, 'calculate_probability_by_metric', fake_calculate_probability_by_metric) detector.detect_anomaly(event) assert not list_of_keys
def test_detector_should_be_able_to_get_bucket(): detector = Detector() event = helpers.get_fake_event() assert 'edge' == detector.get_bucket(event)
def test_detector_should_be_able_to_get_current_value(): detector = Detector() event = helpers.get_fake_event() assert 2.5 == detector.get_current_value(event, "cpu") assert 40 == detector.get_current_value(event, "mem")
def test_detector_should_be_able_to_fetch_the_metrics_from_event(): event = helpers.get_fake_event() detector = Detector() assert sorted(["cpu", "mem"]) == sorted(detector.get_metrics(event))
def test_detector_should_be_able_to_detect_anomaly(): detector = Detector() event = helpers.get_fake_event() assert False == detector.detect_anomaly(event)