cubicweb/web/test/unittest_request.py
branch3.24
changeset 11825 52acf0dbf4cd
parent 11799 1bdfe9d4ab83
child 11913 4516c3956d46
equal deleted inserted replaced
11824:d7ecf6dab085 11825:52acf0dbf4cd
     4 import unittest
     4 import unittest
     5 from functools import partial
     5 from functools import partial
     6 
     6 
     7 from six import text_type
     7 from six import text_type
     8 
     8 
     9 from cubicweb.devtools.fake import FakeConfig
     9 from cubicweb.devtools.fake import FakeConfig, FakeCWRegistryStore
    10 
    10 
    11 from cubicweb.web.request import (CubicWebRequestBase, _parse_accept_header,
    11 from cubicweb.web.request import (CubicWebRequestBase, _parse_accept_header,
    12                                   _mimetype_sort_key, _mimetype_parser, _charset_sort_key)
    12                                   _mimetype_sort_key, _mimetype_parser, _charset_sort_key)
    13 
    13 
    14 
    14 
    70 
    70 
    71 
    71 
    72 class WebRequestTC(unittest.TestCase):
    72 class WebRequestTC(unittest.TestCase):
    73 
    73 
    74     def test_base_url(self):
    74     def test_base_url(self):
    75         dummy_vreg = type('DummyVreg', (object,), {})()
    75         dummy_vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
    76         dummy_vreg.config = FakeConfig()
       
    77         dummy_vreg.config['base-url'] = 'http://babar.com/'
    76         dummy_vreg.config['base-url'] = 'http://babar.com/'
    78         dummy_vreg.config['https-url'] = 'https://toto.com/'
    77         dummy_vreg.config['https-url'] = 'https://toto.com/'
    79 
    78 
    80         req = CubicWebRequestBase(dummy_vreg, https=False)
    79         req = CubicWebRequestBase(dummy_vreg, https=False)
    81         self.assertEqual('http://babar.com/', req.base_url())
    80         self.assertEqual('http://babar.com/', req.base_url())
    86         self.assertEqual('https://toto.com/', req.base_url())
    85         self.assertEqual('https://toto.com/', req.base_url())
    87         self.assertEqual('http://babar.com/', req.base_url(False))
    86         self.assertEqual('http://babar.com/', req.base_url(False))
    88         self.assertEqual('https://toto.com/', req.base_url(True))
    87         self.assertEqual('https://toto.com/', req.base_url(True))
    89 
    88 
    90     def test_negotiated_language(self):
    89     def test_negotiated_language(self):
    91         vreg = type('DummyVreg', (object,), {})()
    90         vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
    92         vreg.config = FakeConfig()
       
    93         vreg.config.translations = {'fr': (None, None), 'en': (None, None)}
    91         vreg.config.translations = {'fr': (None, None), 'en': (None, None)}
    94         headers = {
    92         headers = {
    95             'Accept-Language': 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3',
    93             'Accept-Language': 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3',
    96         }
    94         }
    97         req = CubicWebRequestBase(vreg, https=False, headers=headers)
    95         req = CubicWebRequestBase(vreg, https=False, headers=headers)
    98         self.assertEqual(req.negotiated_language(), 'fr')
    96         self.assertEqual(req.negotiated_language(), 'fr')
    99 
    97 
   100     def test_build_url_language_from_url(self):
    98     def test_build_url_language_from_url(self):
   101         vreg = type('DummyVreg', (object,), {'config': FakeConfig()})()
    99         vreg = FakeCWRegistryStore(FakeConfig(), initlog=False)
   102         vreg.config['base-url'] = 'http://testing.fr/cubicweb/'
   100         vreg.config['base-url'] = 'http://testing.fr/cubicweb/'
   103         vreg.config['language-mode'] = 'url-prefix'
   101         vreg.config['language-mode'] = 'url-prefix'
   104         vreg.config.translations['fr'] = text_type, text_type
   102         vreg.config.translations['fr'] = text_type, text_type
   105         req = CubicWebRequestBase(vreg, https=False)
   103         req = CubicWebRequestBase(vreg, https=False)
   106         # Override from_controller to avoid getting into relative_path method,
   104         # Override from_controller to avoid getting into relative_path method,