cubicweb/web/test/unittest_request.py
changeset 11913 4516c3956d46
parent 11825 52acf0dbf4cd
child 12567 26744ad37953
equal deleted inserted replaced
11912:c9e6df20e5a4 11913:4516c3956d46
    69                           ('*', '*', 0.7)])
    69                           ('*', '*', 0.7)])
    70 
    70 
    71 
    71 
    72 class WebRequestTC(unittest.TestCase):
    72 class WebRequestTC(unittest.TestCase):
    73 
    73 
    74     def test_base_url(self):
       
    75         dummy_vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
       
    76         dummy_vreg.config['base-url'] = 'http://babar.com/'
       
    77         dummy_vreg.config['https-url'] = 'https://toto.com/'
       
    78 
       
    79         req = CubicWebRequestBase(dummy_vreg, https=False)
       
    80         self.assertEqual('http://babar.com/', req.base_url())
       
    81         self.assertEqual('http://babar.com/', req.base_url(False))
       
    82         self.assertEqual('https://toto.com/', req.base_url(True))
       
    83 
       
    84         req = CubicWebRequestBase(dummy_vreg, https=True)
       
    85         self.assertEqual('https://toto.com/', req.base_url())
       
    86         self.assertEqual('http://babar.com/', req.base_url(False))
       
    87         self.assertEqual('https://toto.com/', req.base_url(True))
       
    88 
       
    89     def test_negotiated_language(self):
    74     def test_negotiated_language(self):
    90         vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
    75         vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
    91         vreg.config.translations = {'fr': (None, None), 'en': (None, None)}
    76         vreg.config.translations = {'fr': (None, None), 'en': (None, None)}
    92         headers = {
    77         headers = {
    93             'Accept-Language': 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3',
    78             'Accept-Language': 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3',
    94         }
    79         }
    95         req = CubicWebRequestBase(vreg, https=False, headers=headers)
    80         req = CubicWebRequestBase(vreg, headers=headers)
    96         self.assertEqual(req.negotiated_language(), 'fr')
    81         self.assertEqual(req.negotiated_language(), 'fr')
    97 
    82 
    98     def test_build_url_language_from_url(self):
    83     def test_build_url_language_from_url(self):
    99         vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
    84         vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
   100         vreg.config['base-url'] = 'http://testing.fr/cubicweb/'
    85         vreg.config['base-url'] = 'http://testing.fr/cubicweb/'
   101         vreg.config['language-mode'] = 'url-prefix'
    86         vreg.config['language-mode'] = 'url-prefix'
   102         vreg.config.translations['fr'] = text_type, text_type
    87         vreg.config.translations['fr'] = text_type, text_type
   103         req = CubicWebRequestBase(vreg, https=False)
    88         req = CubicWebRequestBase(vreg)
   104         # Override from_controller to avoid getting into relative_path method,
    89         # Override from_controller to avoid getting into relative_path method,
   105         # which is not implemented in CubicWebRequestBase.
    90         # which is not implemented in CubicWebRequestBase.
   106         req.from_controller = lambda : 'not view'
    91         req.from_controller = lambda : 'not view'
   107         self.assertEqual(req.lang, 'en')  # site's default language
    92         self.assertEqual(req.lang, 'en')  # site's default language
   108         self.assertEqual(req.build_url(), 'http://testing.fr/cubicweb/en/view')
    93         self.assertEqual(req.build_url(), 'http://testing.fr/cubicweb/en/view')