--- a/server/test/unittest_querier.py Fri Feb 12 15:18:00 2010 +0100
+++ b/server/test/unittest_querier.py Wed Mar 24 10:23:31 2010 +0100
@@ -46,7 +46,7 @@
('C0 text,C1 integer', {'A': 'table0.C0', 'B': 'table0.C1'}))
-repo, cnx = init_test_database('sqlite')
+repo, cnx = init_test_database()
@@ -78,7 +78,7 @@
def test_preprocess_security(self):
plan = self._prepare_plan('Any ETN,COUNT(X) GROUPBY ETN '
'WHERE X is ET, ET name ETN')
- plan.session = self._user_session(('users',))[1]
+ plan.session = self.user_groups_session('users')
union = plan.rqlst
plan.preprocess(union)
self.assertEquals(len(union.children), 1)
@@ -158,7 +158,7 @@
def test_preprocess_security_aggregat(self):
plan = self._prepare_plan('Any MAX(X)')
- plan.session = self._user_session(('users',))[1]
+ plan.session = self.user_groups_session('users')
union = plan.rqlst
plan.preprocess(union)
self.assertEquals(len(union.children), 1)
@@ -257,7 +257,7 @@
result, descr = rset.rows, rset.description
self.assertEquals(descr[0][0], 'String')
self.assertEquals(descr[0][1], 'Int')
- self.assertEquals(result[0][0], 'CWRelation')
+ self.assertEquals(result[0][0], 'CWRelation') # XXX may change as schema evolve
def test_select_groupby_orderby(self):
rset = self.execute('Any N GROUPBY N ORDERBY N WHERE X is CWGroup, X name N')
@@ -559,7 +559,7 @@
rset = self.execute('CWGroup X ORDERBY N LIMIT 2 OFFSET 2 WHERE X name N')
self.assertEquals(tuplify(rset.rows), [(3,), (4,)])
- def test_select_symetric(self):
+ def test_select_symmetric(self):
self.execute("INSERT Personne X: X nom 'machin'")
self.execute("INSERT Personne X: X nom 'bidule'")
self.execute("INSERT Personne X: X nom 'chouette'")
@@ -862,6 +862,14 @@
self.assert_(rset.rows)
self.assertEquals(rset.description, [('Personne', 'Societe',)])
+ def test_insert_5bis(self):
+ peid = self.execute("INSERT Personne X: X nom 'bidule'")[0][0]
+ self.execute("INSERT Societe Y: Y nom 'toto', X travaille Y WHERE X eid %(x)s",
+ {'x': peid}, 'x')
+ rset = self.execute('Any X, Y WHERE X nom "bidule", Y nom "toto", X travaille Y')
+ self.assert_(rset.rows)
+ self.assertEquals(rset.description, [('Personne', 'Societe',)])
+
def test_insert_6(self):
self.execute("INSERT Personne X, Societe Y: X nom 'bidule', Y nom 'toto', X travaille Y")
rset = self.execute('Any X, Y WHERE X nom "bidule", Y nom "toto", X travaille Y')
@@ -907,7 +915,8 @@
self.execute("INSERT Personne Y: Y nom 'toto'")
rset = self.execute('Personne X WHERE X nom "toto"')
self.assertEqual(len(rset.rows), 1)
- self.execute("DELETE Personne Y WHERE Y nom 'toto'")
+ drset = self.execute("DELETE Personne Y WHERE Y nom 'toto'")
+ self.assertEqual(drset.rows, rset.rows)
rset = self.execute('Personne X WHERE X nom "toto"')
self.assertEqual(len(rset.rows), 0)
@@ -927,7 +936,7 @@
self.assertEqual(len(rset.rows), 0, rset.rows)
def test_delete_3(self):
- u, s = self._user_session(('users',))
+ s = self.user_groups_session('users')
peid, = self.o.execute(s, "INSERT Personne P: P nom 'toto'")[0]
seid, = self.o.execute(s, "INSERT Societe S: S nom 'logilab'")[0]
self.o.execute(s, "SET P travaille S")
@@ -937,7 +946,7 @@
rset = self.execute('Personne P WHERE P travaille S')
self.assertEqual(len(rset.rows), 0)
- def test_delete_symetric(self):
+ def test_delete_symmetric(self):
teid1 = self.execute("INSERT Folder T: T name 'toto'")[0][0]
teid2 = self.execute("INSERT Folder T: T name 'tutu'")[0][0]
self.execute('SET X see_also Y WHERE X eid %s, Y eid %s' % (teid1, teid2))
@@ -958,7 +967,7 @@
(using cachekey on sql generation returned always the same query for an eid,
whatever the relation)
"""
- u, s = self._user_session(('users',))
+ s = self.user_groups_session('users')
aeid, = self.o.execute(s, 'INSERT EmailAddress X: X address "toto@logilab.fr", X alias "hop"')[0]
# XXX would be nice if the rql below was enough...
#'INSERT Email X: X messageid "<1234>", X subject "test", X sender Y, X recipients Y'