17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
18 |
18 |
19 from logilab.common.testlib import TestCase, unittest_main |
19 from logilab.common.testlib import TestCase, unittest_main |
20 from cubicweb import ObjectNotFound |
20 from cubicweb import ObjectNotFound |
21 from cubicweb.req import RequestSessionBase, FindEntityError |
21 from cubicweb.req import RequestSessionBase, FindEntityError |
22 from cubicweb.devtools import ApptestConfiguration |
|
23 from cubicweb.devtools.testlib import CubicWebTC |
22 from cubicweb.devtools.testlib import CubicWebTC |
24 from cubicweb import Unauthorized |
23 from cubicweb import Unauthorized |
|
24 |
25 |
25 |
26 class RequestTC(TestCase): |
26 class RequestTC(TestCase): |
27 def test_rebuild_url(self): |
27 def test_rebuild_url(self): |
28 rebuild_url = RequestSessionBase(None).rebuild_url |
28 rebuild_url = RequestSessionBase(None).rebuild_url |
29 self.assertEqual(rebuild_url('http://logilab.fr?__message=pouet', __message='hop'), |
29 self.assertEqual(rebuild_url('http://logilab.fr?__message=pouet', __message='hop'), |
30 'http://logilab.fr?__message=hop') |
30 'http://logilab.fr?__message=hop') |
31 self.assertEqual(rebuild_url('http://logilab.fr', __message='hop'), |
31 self.assertEqual(rebuild_url('http://logilab.fr', __message='hop'), |
32 'http://logilab.fr?__message=hop') |
32 'http://logilab.fr?__message=hop') |
33 self.assertEqual(rebuild_url('http://logilab.fr?vid=index', __message='hop'), |
33 self.assertEqual(rebuild_url('http://logilab.fr?vid=index', __message='hop'), |
34 'http://logilab.fr?__message=hop&vid=index') |
34 'http://logilab.fr?__message=hop&vid=index') |
35 |
35 |
36 def test_build_url(self): |
36 def test_build_url(self): |
37 req = RequestSessionBase(None) |
37 req = RequestSessionBase(None) |
38 req.from_controller = lambda : 'view' |
38 req.from_controller = lambda: 'view' |
39 req.relative_path = lambda includeparams=True: None |
39 req.relative_path = lambda includeparams=True: None |
40 req.base_url = lambda secure=None: 'http://testing.fr/cubicweb/' |
40 req.base_url = lambda secure=None: 'http://testing.fr/cubicweb/' |
41 self.assertEqual(req.build_url(), u'http://testing.fr/cubicweb/view') |
41 self.assertEqual(req.build_url(), u'http://testing.fr/cubicweb/view') |
42 self.assertEqual(req.build_url(None), u'http://testing.fr/cubicweb/view') |
42 self.assertEqual(req.build_url(None), u'http://testing.fr/cubicweb/view') |
43 self.assertEqual(req.build_url('one'), u'http://testing.fr/cubicweb/one') |
43 self.assertEqual(req.build_url('one'), u'http://testing.fr/cubicweb/one') |
47 |
47 |
48 def test_ensure_no_rql(self): |
48 def test_ensure_no_rql(self): |
49 req = RequestSessionBase(None) |
49 req = RequestSessionBase(None) |
50 self.assertEqual(req.ensure_ro_rql('Any X WHERE X is CWUser'), None) |
50 self.assertEqual(req.ensure_ro_rql('Any X WHERE X is CWUser'), None) |
51 self.assertEqual(req.ensure_ro_rql(' Any X WHERE X is CWUser '), None) |
51 self.assertEqual(req.ensure_ro_rql(' Any X WHERE X is CWUser '), None) |
52 self.assertRaises(Unauthorized, req.ensure_ro_rql, 'SET X login "toto" WHERE X is CWUser') |
52 self.assertRaises(Unauthorized, req.ensure_ro_rql, |
53 self.assertRaises(Unauthorized, req.ensure_ro_rql, ' SET X login "toto" WHERE X is CWUser ') |
53 'SET X login "toto" WHERE X is CWUser') |
|
54 self.assertRaises(Unauthorized, req.ensure_ro_rql, |
|
55 ' SET X login "toto" WHERE X is CWUser ') |
54 |
56 |
55 |
57 |
56 class RequestCWTC(CubicWebTC): |
58 class RequestCWTC(CubicWebTC): |
57 |
59 |
58 def test_base_url(self): |
60 def test_base_url(self): |