15 # |
15 # |
16 # You should have received a copy of the GNU Lesser General Public License along |
16 # You should have received a copy of the GNU Lesser General Public License along |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
18 from logilab.common.testlib import TestCase, unittest_main |
18 from logilab.common.testlib import TestCase, unittest_main |
19 from cubicweb.req import RequestSessionBase |
19 from cubicweb.req import RequestSessionBase |
|
20 from cubicweb.devtools.testlib import CubicWebTC |
|
21 |
20 |
22 |
21 class RebuildURLTC(TestCase): |
23 class RebuildURLTC(TestCase): |
22 def test(self): |
24 def test_rebuild_url(self): |
23 rebuild_url = RequestSessionBase(None).rebuild_url |
25 rebuild_url = RequestSessionBase(None).rebuild_url |
24 self.assertEquals(rebuild_url('http://logilab.fr?__message=pouet', __message='hop'), |
26 self.assertEquals(rebuild_url('http://logilab.fr?__message=pouet', __message='hop'), |
25 'http://logilab.fr?__message=hop') |
27 'http://logilab.fr?__message=hop') |
26 self.assertEquals(rebuild_url('http://logilab.fr', __message='hop'), |
28 self.assertEquals(rebuild_url('http://logilab.fr', __message='hop'), |
27 'http://logilab.fr?__message=hop') |
29 'http://logilab.fr?__message=hop') |
28 self.assertEquals(rebuild_url('http://logilab.fr?vid=index', __message='hop'), |
30 self.assertEquals(rebuild_url('http://logilab.fr?vid=index', __message='hop'), |
29 'http://logilab.fr?__message=hop&vid=index') |
31 'http://logilab.fr?__message=hop&vid=index') |
30 |
32 |
|
33 def test_build_url(self): |
|
34 req = RequestSessionBase(None) |
|
35 req.from_controller = lambda : 'view' |
|
36 req.relative_path = lambda includeparams=True: None |
|
37 req.base_url = lambda : 'http://testing.fr/cubicweb/' |
|
38 self.assertEqual(req.build_url(), u'http://testing.fr/cubicweb/view') |
|
39 self.assertEqual(req.build_url(None), u'http://testing.fr/cubicweb/view') |
|
40 self.assertEqual(req.build_url('one'), u'http://testing.fr/cubicweb/one') |
|
41 self.assertEqual(req.build_url(param='ok'), u'http://testing.fr/cubicweb/view?param=ok') |
|
42 self.assertRaises(AssertionError, req.build_url, 'one', 'two not allowed') |
|
43 self.assertRaises(ValueError, req.build_url, 'view', test=None) |
|
44 |
31 |
45 |
32 if __name__ == '__main__': |
46 if __name__ == '__main__': |
33 unittest_main() |
47 unittest_main() |