cubicweb/server/test/unittest_schemaserial.py
changeset 11077 09be48c01fa4
parent 11057 0b59724cb3f2
child 11215 4e79acdc36a6
equal deleted inserted replaced
11076:403a901b6b1e 11077:09be48c01fa4
    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 """unit tests for schema rql (de)serialization"""
    18 """unit tests for schema rql (de)serialization"""
    19 
    19 
    20 from logilab.common.testlib import TestCase, unittest_main
       
    21 
       
    22 from cubicweb import Binary
    20 from cubicweb import Binary
    23 from cubicweb.schema import CubicWebSchemaLoader
    21 from cubicweb.schema import CubicWebSchemaLoader
    24 from cubicweb.devtools import TestServerConfiguration
    22 from cubicweb.devtools import TestServerConfiguration
    25 from cubicweb.devtools.testlib import CubicWebTC
    23 from cubicweb.devtools.testlib import BaseTestCase as TestCase, CubicWebTC
    26 
    24 
    27 from cubicweb.server.schemaserial import (updateeschema2rql, updaterschema2rql, rschema2rql,
    25 from cubicweb.server.schemaserial import (updateeschema2rql, updaterschema2rql, rschema2rql,
    28                                           eschema2rql, rdef2rql, specialize2rql,
    26                                           eschema2rql, rdef2rql, specialize2rql,
    29                                           _erperms2rql as erperms2rql)
    27                                           _erperms2rql as erperms2rql)
    30 
    28 
   380               'fulltext_container': None,
   378               'fulltext_container': None,
   381               'inlined': False,
   379               'inlined': False,
   382               'name': u'add_permission'})
   380               'name': u'add_permission'})
   383             ]
   381             ]
   384         for i, (rql, args) in enumerate(updaterschema2rql(schema.rschema('add_permission'), 1)):
   382         for i, (rql, args) in enumerate(updaterschema2rql(schema.rschema('add_permission'), 1)):
   385             yield self.assertEqual, expected[i], (rql, args)
   383             with self.subTest(i=i):
       
   384                 self.assertEqual((rql, args), expected[i])
       
   385 
   386 
   386 
   387 class Perms2RQLTC(TestCase):
   387 class Perms2RQLTC(TestCase):
   388     GROUP_MAPPING = {
   388     GROUP_MAPPING = {
   389         'managers': 0,
   389         'managers': 0,
   390         'users':  1,
   390         'users':  1,
   441         self.assertEqual([('Company', 'Int')], list(schema['total_salary'].rdefs))
   441         self.assertEqual([('Company', 'Int')], list(schema['total_salary'].rdefs))
   442         self.assertEqual('Any SUM(SA) GROUPBY X WHERE P works_for X, P salary SA',
   442         self.assertEqual('Any SUM(SA) GROUPBY X WHERE P works_for X, P salary SA',
   443                          schema['total_salary'].rdefs['Company', 'Int'].formula)
   443                          schema['total_salary'].rdefs['Company', 'Int'].formula)
   444 
   444 
   445 if __name__ == '__main__':
   445 if __name__ == '__main__':
   446     unittest_main()
   446     from unittest import main
       
   447     main()