1 # -*- coding: utf-8 -*- |
1 # -*- coding: utf-8 -*- |
2 """XXX rename, split, reorganize this |
2 """XXX rename, split, reorganize this |
3 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
3 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
4 """ |
4 """ |
5 from __future__ import with_statement |
|
6 |
|
7 from logilab.common.testlib import unittest_main |
5 from logilab.common.testlib import unittest_main |
8 |
6 |
9 from cubicweb.devtools.apptest import EnvBasedTC |
7 from cubicweb.devtools.apptest import EnvBasedTC |
10 from cubicweb import CW_SOFTWARE_ROOT as BASE, Binary |
8 from cubicweb import CW_SOFTWARE_ROOT as BASE, Binary |
11 from cubicweb.selectors import (match_user_groups, implements, |
9 from cubicweb.selectors import (match_user_groups, implements, |
125 ]) |
123 ]) |
126 |
124 |
127 def test_propertiesform_admin(self): |
125 def test_propertiesform_admin(self): |
128 rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') |
126 rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') |
129 rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"') |
127 rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"') |
130 with traced_selection(): |
128 self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None)) |
131 self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None)) |
129 self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=rset1)) |
132 self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=rset1)) |
130 self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2)) |
133 self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2)) |
|
134 |
131 |
135 def test_propertiesform_anon(self): |
132 def test_propertiesform_anon(self): |
136 self.login('anon') |
133 self.login('anon') |
137 rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') |
134 rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') |
138 rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"') |
135 rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"') |
139 with traced_selection(): |
136 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=None) |
140 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=None) |
137 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1) |
141 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1) |
138 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset2) |
142 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset2) |
|
143 |
139 |
144 def test_propertiesform_jdoe(self): |
140 def test_propertiesform_jdoe(self): |
145 self.create_user('jdoe') |
141 self.create_user('jdoe') |
146 self.login('jdoe') |
142 self.login('jdoe') |
147 rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') |
143 rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') |
148 rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "jdoe"') |
144 rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "jdoe"') |
149 with traced_selection(): |
145 self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None)) |
150 self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None)) |
146 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1) |
151 self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1) |
147 self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2)) |
152 self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2)) |
|
153 |
148 |
154 def test_possible_views_multiple_different_types(self): |
149 def test_possible_views_multiple_different_types(self): |
155 rset, req = self.env.get_rset_and_req('Any X') |
150 rset, req = self.env.get_rset_and_req('Any X') |
156 self.assertListEqual(self.pviews(req, rset), |
151 self.assertListEqual(self.pviews(req, rset), |
157 [('csvexport', csvexport.CSVRsetView), |
152 [('csvexport', csvexport.CSVRsetView), |