예제 #1
0
    def test_mock(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)

        dda._setMock(mock_data=self.random_string)

        self.assertEqual(dda.mock, self.random_string)
예제 #2
0
    def test_mock_perf_metric_monitor(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)

        # Perfomance in this mock is 7865.333333333333
        dda._setMock(mock_data={'rc': 200,
                                'body': self.json_perf_metric_success})
        dsa = DynatraceSyntheticAPI(datafeed_api=dda)

        # Case: OK
        perf = dsa.monitor_aggregated_performance(monid=123456,
                                                  warn=8000,
                                                  crit=9000)
        self.assertEqual(perf['result_string'], dsa.OK_STRING)
        self.assertEqual(perf['result_numeric'], dsa.OK_NUMERIC)

        # Case: WARN
        perf = dsa.monitor_aggregated_performance(monid=123456,
                                                  warn=7000,
                                                  crit=8000)
        self.assertEqual(perf['result_string'], dsa.WARNING_STRING)
        self.assertEqual(perf['result_numeric'], dsa.WARNING_NUMERIC)

        # Case: CRITICAL
        perf = dsa.monitor_aggregated_performance(monid=123456,
                                                  warn=2000,
                                                  crit=7000)
        self.assertEqual(perf['result_string'], dsa.CRITIAL_STRING)
        self.assertEqual(perf['result_numeric'], dsa.CRITICAL_NUMERIC)
예제 #3
0
    def test_mock_perf_avail_monitor(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)

        # Availability in this mock is 0.91234578
        dda._setMock(mock_data={'rc': 200,
                                'body': self.json_avail_metric_success})
        dsa = DynatraceSyntheticAPI(datafeed_api=dda)

        # Case: OK
        avail = dsa.monitor_aggregated_availability(monid=123456,
                                                    warn=0.9,
                                                    crit=0.8)
        self.assertEqual(avail['result_string'], dsa.OK_STRING)
        self.assertEqual(avail['result_numeric'], dsa.OK_NUMERIC)

        # Case: WARN
        avail = dsa.monitor_aggregated_availability(monid=123456,
                                                    warn=0.95,
                                                    crit=0.90)
        self.assertEqual(avail['result_string'], dsa.WARNING_STRING)
        self.assertEqual(avail['result_numeric'], dsa.WARNING_NUMERIC)

        # Case: CRITICAL
        avail = dsa.monitor_aggregated_availability(monid=123456,
                                                    warn=0.99,
                                                    crit=0.98)
        self.assertEqual(avail['result_string'], dsa.CRITIAL_STRING)
        self.assertEqual(avail['result_numeric'], dsa.CRITICAL_NUMERIC)
예제 #4
0
    def test_export_raw(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)

        dda._setMock(mock_data={'rc': 403,
                                'body': self.json_failed_unauthorized})
        dsa = DynatraceSyntheticAPI(datafeed_api=dda)
        self.assertRaises(ValueError, dsa.export_raw, begin=1, end=2, slot=3, page=4)
예제 #5
0
    def test_mock_avail_metric(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)
        dda._setMock(mock_data={'rc': 200,
                                'body': self.json_avail_metric_success})
        dsa = DynatraceSyntheticAPI(datafeed_api=dda)

        avail = dsa.get_aggregated_availability(monid=12345)

        self.assertDictEqual(avail, self.avail_data_expect)
예제 #6
0
    def test_mock_list_metric(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)
        dda._setMock(mock_data={'rc': 200, 'body': self.json_metrics_success})
        dsa = DynatraceSyntheticAPI(datafeed_api=dda)

        metrics = dsa.list_metrics()

        item1 = {"mask": "css_3_bttfp_c",
                 "name": "3rd Party CSS Count Before TTFP",
                 "desc": "3rd Party CSS Count Before Time to First Paint",
                 "unit": "number"}

        item2 =  {"mask": "css_3_o_s",
                  "name": "3rd Party CSS Size",
                  "desc": "3rd Party CSS Size",
                  "unit": "b"}

        self.assertTrue(item1 in metrics)
        self.assertTrue(item2 in metrics)
예제 #7
0
    def test_mocked_metric_list_content(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)
        dda._setMock(mock_data={'rc': 200, 'body': self.json_metrics_success})

        self.assertEqual(dda.info(list='metrics'), self.json_metrics_success)