From: Ricardo Dias Date: Tue, 15 Oct 2019 12:12:34 +0000 (+0100) Subject: mgr/dashboard: home controller unit test X-Git-Tag: v15.1.0~1234^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=87a0395c717b5bf232b2c669fd7d1d7377710281;p=ceph-ci.git mgr/dashboard: home controller unit test Signed-off-by: Ricardo Dias --- diff --git a/src/pybind/mgr/dashboard/__init__.py b/src/pybind/mgr/dashboard/__init__.py index 8c825305400..a1affa2ef58 100644 --- a/src/pybind/mgr/dashboard/__init__.py +++ b/src/pybind/mgr/dashboard/__init__.py @@ -56,4 +56,4 @@ else: sys.modules['ceph_module'] = mock.Mock() mgr = mock.Mock() - mgr.get_frontend_path.side_effect = lambda: "./frontend/dist" + mgr.get_frontend_path.side_effect = lambda: os.path.abspath("./frontend/dist") diff --git a/src/pybind/mgr/dashboard/tests/__init__.py b/src/pybind/mgr/dashboard/tests/__init__.py index 3395cc46c7f..08d4feaf5a8 100644 --- a/src/pybind/mgr/dashboard/tests/__init__.py +++ b/src/pybind/mgr/dashboard/tests/__init__.py @@ -120,7 +120,7 @@ class ControllerTestCase(helper.CPWebCase): }) super(ControllerTestCase, self).__init__(*args, **kwargs) - def _request(self, url, method, data=None): + def _request(self, url, method, data=None, headers=None): if not data: b = None h = None @@ -128,10 +128,12 @@ class ControllerTestCase(helper.CPWebCase): b = json.dumps(data) h = [('Content-Type', 'application/json'), ('Content-Length', str(len(b)))] + if headers: + h = headers self.getPage(url, method=method, body=b, headers=h) - def _get(self, url): - self._request(url, 'GET') + def _get(self, url, headers=None): + self._request(url, 'GET', headers=headers) def _post(self, url, data=None): self._request(url, 'POST', data) diff --git a/src/pybind/mgr/dashboard/tests/test_home.py b/src/pybind/mgr/dashboard/tests/test_home.py new file mode 100644 index 00000000000..341762572aa --- /dev/null +++ b/src/pybind/mgr/dashboard/tests/test_home.py @@ -0,0 +1,33 @@ +from __future__ import absolute_import + +import logging + +from . import ControllerTestCase +from ..controllers.home import HomeController + + +logger = logging.getLogger() + + +class HomeTest(ControllerTestCase): + @classmethod + def setup_server(cls): + cls.setup_controllers([HomeController]) + + def test_home_default_lang(self): + self._get('/') + self.assertStatus(200) + logger.info(self.body) + self.assertIn('', self.body.decode('utf-8')) + + def test_home_en_us(self): + self._get('/', headers=[('Accept-Language', 'en-US')]) + self.assertStatus(200) + logger.info(self.body) + self.assertIn('', self.body.decode('utf-8')) + + def test_home_non_supported_lang(self): + self._get('/', headers=[('Accept-Language', 'NO-NO')]) + self.assertStatus(200) + logger.info(self.body) + self.assertIn('', self.body.decode('utf-8'))