diff -r c25da7573ebd -r 02b52bf9f5f8 server/test/unittest_querier.py --- 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'