server/test/unittest_querier.py
brancholdstable
changeset 4985 02b52bf9f5f8
parent 4765 c33d12865641
child 4787 dc07678c4935
--- 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'