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) |