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")
})
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
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)
--- /dev/null
+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('<html lang="en">', 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('<html lang="en">', 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('<html lang="en">', self.body.decode('utf-8'))