Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #4
0
    def test_set_proxy(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)
        dda.set_proxy('http://proxy.acme.org:123')

        self.assertDictEqual(dda.proxies, {'http': 'http://proxy.acme.org:123',
                                           'https': 'http://proxy.acme.org:123',
                                           'ftp': False})
Beispiel #5
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)
Beispiel #6
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)
 def test_raw(self):
     dda = DynatraceDatafeedAPI(login=self.login_exp,
                                passwordhash=self.passwordhash_exp)
     dda.mock = {'body': 'bla'}
     self.assertRaises(ValueError, dda.raw, metrics='existing', monid=42)
     self.assertRaises(ValueError,
                       dda.raw,
                       metrics='existing',
                       monid=42,
                       rltime=-23)
     self.assertRaises(ValueError,
                       dda.raw,
                       metrics='existing',
                       monid=42,
                       rltime=1,
                       tstart=-1)
     self.assertRaises(ValueError,
                       dda.raw,
                       metrics='existing',
                       monid=42,
                       rltime=1,
                       tstart=2,
                       tend=-23)
     dda.raw(metrics='existing',
             monid=42,
             tstart=2,
             tend=3,
             pgeid=19,
             group='boarding A',
             header='kopflos',
             sort='bubble',
             limit='NEIN!',
             skip='der skipper',
             format='c:\\')
     self.assertEqual(dda.api_params['tstart'], 2)
     self.assertEqual(dda.api_params['tend'], 3)
     self.assertEqual(dda.api_params['pgeid'], 19)
     self.assertEqual(dda.api_params['group'], 'boarding A')
     self.assertEqual(dda.api_params['header'], 'kopflos')
     self.assertEqual(dda.api_params['sort'], 'bubble')
     self.assertEqual(dda.api_params['limit'], 'NEIN!')
     self.assertEqual(dda.api_params['skip'], 'der skipper')
     self.assertEqual(dda.api_params['format'], 'c:\\')
Beispiel #8
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)
Beispiel #9
0
    def test_objectInitializationDefaults(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)

        self.assertEqual(dda.api_proto, 'https')

        self.assertEqual(dda.api_host, 'ultraapi-prod.dynatrace.com')

        self.assertListEqual(dda.api_path, ['v3.2', 'synthetic'])

        self.assertDictEqual(dda.api_params, {'login': self.login_exp,
                                              'pass': self.passwordhash_exp,
                                              'format': 'json'})

        self.assertFalse(dda.mock)
Beispiel #10
0
    def test_objectInitialization(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp,
                                   api_proto=self.api_proto_exp,
                                   api_host=self.api_host_exp,
                                   api_version=self.api_version_exp,
                                   api_product=self.api_product_exp,
                                   format=self.format_exp)

        self.assertEqual(dda.api_proto, self.api_proto_exp)

        self.assertEqual(dda.api_host, self.api_host_exp)

        self.assertListEqual(dda.api_path, [self.api_version_exp,
                                            self.api_product_exp])

        self.assertDictEqual(dda.api_params, {'login': self.login_exp,
                                              'pass': self.passwordhash_exp,
                                              'format': self.format_exp})
Beispiel #11
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)
Beispiel #12
0
    def test_url_generation(self):
        dda = DynatraceDatafeedAPI(login=self.login_exp,
                                   passwordhash=self.passwordhash_exp)

        self.assertEqual(dda._get_rest_url(), self.exp_url)