25 |
25 |
26 from cubicweb import QueryError, Unauthorized, Binary |
26 from cubicweb import QueryError, Unauthorized, Binary |
27 from cubicweb.server.sqlutils import SQL_PREFIX |
27 from cubicweb.server.sqlutils import SQL_PREFIX |
28 from cubicweb.server.utils import crypt_password |
28 from cubicweb.server.utils import crypt_password |
29 from cubicweb.server.sources.native import make_schema |
29 from cubicweb.server.sources.native import make_schema |
30 from cubicweb.devtools import init_test_database |
30 from cubicweb.devtools import get_test_db_handler, TestServerConfiguration |
|
31 |
31 from cubicweb.devtools.repotest import tuplify, BaseQuerierTC |
32 from cubicweb.devtools.repotest import tuplify, BaseQuerierTC |
32 |
|
33 from unittest_session import Variable |
33 from unittest_session import Variable |
34 |
34 |
35 |
35 |
36 # register priority/severity sorting registered procedure |
36 # register priority/severity sorting registered procedure |
37 from rql.utils import register_function, FunctionDescr |
37 from rql.utils import register_function, FunctionDescr |
62 ('C0 text,C1 integer', {'A': 'table0.C0', 'B': 'table0.C1'})) |
62 ('C0 text,C1 integer', {'A': 'table0.C0', 'B': 'table0.C1'})) |
63 |
63 |
64 |
64 |
65 def setUpModule(*args): |
65 def setUpModule(*args): |
66 global repo, cnx |
66 global repo, cnx |
67 repo, cnx = init_test_database(apphome=UtilsTC.datadir) |
67 config = TestServerConfiguration(apphome=UtilsTC.datadir) |
|
68 handler = get_test_db_handler(config) |
|
69 handler.build_db_cache() |
|
70 repo, cnx = handler.get_repo_and_cnx() |
68 |
71 |
69 def tearDownModule(*args): |
72 def tearDownModule(*args): |
70 global repo, cnx |
73 global repo, cnx |
71 cnx.close() |
74 cnx.close() |
72 repo.shutdown() |
75 repo.shutdown() |
744 rset = self.execute("Any D WHERE X name in ('bidule', 'toto') , X creation_date D") |
747 rset = self.execute("Any D WHERE X name in ('bidule', 'toto') , X creation_date D") |
745 self.assert_(isinstance(rset.rows[0][0], datetime), rset.rows) |
748 self.assert_(isinstance(rset.rows[0][0], datetime), rset.rows) |
746 rset = self.execute('Tag X WHERE X creation_date TODAY') |
749 rset = self.execute('Tag X WHERE X creation_date TODAY') |
747 self.assertEqual(len(rset.rows), 2) |
750 self.assertEqual(len(rset.rows), 2) |
748 rset = self.execute('Any MAX(D) WHERE X is Tag, X creation_date D') |
751 rset = self.execute('Any MAX(D) WHERE X is Tag, X creation_date D') |
749 self.failUnless(isinstance(rset[0][0], datetime), type(rset[0][0])) |
752 self.failUnless(isinstance(rset[0][0], datetime), (rset[0][0], type(rset[0][0]))) |
750 |
753 |
751 def test_today(self): |
754 def test_today(self): |
752 self.execute("INSERT Tag X: X name 'bidule', X creation_date TODAY") |
755 self.execute("INSERT Tag X: X name 'bidule', X creation_date TODAY") |
753 self.execute("INSERT Tag Y: Y name 'toto'") |
756 self.execute("INSERT Tag Y: Y name 'toto'") |
754 rset = self.execute('Tag X WHERE X creation_date TODAY') |
757 rset = self.execute('Tag X WHERE X creation_date TODAY') |