web/test/unittest_viewselector.py
branchstable
changeset 2404 2d3c1a3f76c5
parent 2401 890f6b990dd7
child 2405 443449336153
equal deleted inserted replaced
2401:890f6b990dd7 2404:2d3c1a3f76c5
     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),