]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | from . import ControllerTestCase |
2 | from ..controllers.grafana import Grafana | |
3 | from .. import mgr | |
4 | ||
5 | ||
6 | class GrafanaTest(ControllerTestCase): | |
7 | @classmethod | |
8 | def setup_server(cls): | |
81eedcae | 9 | cls.server_settings() |
11fdf7f2 TL |
10 | # pylint: disable=protected-access |
11 | Grafana._cp_config['tools.authenticate.on'] = False | |
12 | cls.setup_controllers([Grafana]) | |
13 | ||
81eedcae TL |
14 | @classmethod |
15 | def server_settings( | |
16 | cls, | |
17 | url='http://localhost:3000', | |
18 | user='admin', | |
19 | password='admin', | |
20 | ): | |
21 | settings = dict() | |
22 | if url is not None: | |
23 | settings['GRAFANA_API_URL'] = url | |
24 | if user is not None: | |
25 | settings['GRAFANA_API_USERNAME'] = user | |
26 | if password is not None: | |
27 | settings['GRAFANA_API_PASSWORD'] = password | |
28 | mgr.get_module_option.side_effect = settings.get | |
29 | ||
11fdf7f2 | 30 | def test_url(self): |
81eedcae | 31 | self.server_settings() |
11fdf7f2 TL |
32 | self._get('/api/grafana/url') |
33 | self.assertStatus(200) | |
34 | self.assertJsonBody({'instance': 'http://localhost:3000'}) | |
35 | ||
36 | def test_validation(self): | |
81eedcae | 37 | self.server_settings() |
11fdf7f2 TL |
38 | self._get('/api/grafana/validation/foo') |
39 | self.assertStatus(500) | |
81eedcae TL |
40 | |
41 | def test_dashboards(self): | |
42 | self.server_settings(url=None) | |
43 | self._post('/api/grafana/dashboards') | |
44 | self.assertStatus(500) | |
45 | self.server_settings(user=None) | |
46 | self._post('/api/grafana/dashboards') | |
47 | self.assertStatus(500) | |
48 | self.server_settings(password=None) | |
49 | self._post('/api/grafana/dashboards') | |
50 | self.assertStatus(500) |