server/test/unittest_querier.py
changeset 9467 ad66d7b3fd48
parent 9463 d62e13eba033
child 9508 1263f1258796
equal deleted inserted replaced
9466:c3a5f4507f12 9467:ad66d7b3fd48
    25 from rql import BadRQLQuery, RQLSyntaxError
    25 from rql import BadRQLQuery, RQLSyntaxError
    26 
    26 
    27 from cubicweb import QueryError, Unauthorized, Binary
    27 from cubicweb import QueryError, Unauthorized, Binary
    28 from cubicweb.server.sqlutils import SQL_PREFIX
    28 from cubicweb.server.sqlutils import SQL_PREFIX
    29 from cubicweb.server.utils import crypt_password
    29 from cubicweb.server.utils import crypt_password
    30 from cubicweb.server.sources.native import make_schema
       
    31 from cubicweb.server.querier import manual_build_descr, _make_description
    30 from cubicweb.server.querier import manual_build_descr, _make_description
    32 from cubicweb.devtools import get_test_db_handler, TestServerConfiguration
    31 from cubicweb.devtools import get_test_db_handler, TestServerConfiguration
    33 from cubicweb.devtools.testlib import CubicWebTC
    32 from cubicweb.devtools.testlib import CubicWebTC
    34 from cubicweb.devtools.repotest import tuplify, BaseQuerierTC
    33 from cubicweb.devtools.repotest import tuplify, BaseQuerierTC
    35 
    34 
    56 def init_sqlite_connexion(cnx):
    55 def init_sqlite_connexion(cnx):
    57     def group_sort_value(text):
    56     def group_sort_value(text):
    58         return {"managers": "3", "users": "2", "guests":  "1", "owners": "0"}[text]
    57         return {"managers": "3", "users": "2", "guests":  "1", "owners": "0"}[text]
    59     cnx.create_function("GROUP_SORT_VALUE", 1, group_sort_value)
    58     cnx.create_function("GROUP_SORT_VALUE", 1, group_sort_value)
    60 SQL_CONNECT_HOOKS['sqlite'].append(init_sqlite_connexion)
    59 SQL_CONNECT_HOOKS['sqlite'].append(init_sqlite_connexion)
    61 
       
    62 
       
    63 from logilab.database import _GenericAdvFuncHelper
       
    64 TYPEMAP = _GenericAdvFuncHelper.TYPE_MAPPING
       
    65 
       
    66 class MakeSchemaTC(TestCase):
       
    67     def test_known_values(self):
       
    68         solution = {'A': 'String', 'B': 'CWUser'}
       
    69         self.assertEqual(make_schema((Variable('A'), Variable('B')), solution,
       
    70                                       'table0', TYPEMAP),
       
    71                           ('C0 text,C1 integer', {'A': 'table0.C0', 'B': 'table0.C1'}))
       
    72 
    60 
    73 
    61 
    74 def setUpClass(cls, *args):
    62 def setUpClass(cls, *args):
    75     global repo, cnx
    63     global repo, cnx
    76     config = TestServerConfiguration(apphome=UtilsTC.datadir)
    64     config = TestServerConfiguration(apphome=UtilsTC.datadir)