1225 self.execute("INSERT Personne Y: Y nom 'toto'") |
1225 self.execute("INSERT Personne Y: Y nom 'toto'") |
1226 self.assertRaises(Exception, self.execute, "SET X nom 'toto', X is Personne") |
1226 self.assertRaises(Exception, self.execute, "SET X nom 'toto', X is Personne") |
1227 self.assertRaises(QueryError, self.execute, "SET X nom 'toto', X has_text 'tutu' WHERE X is Personne") |
1227 self.assertRaises(QueryError, self.execute, "SET X nom 'toto', X has_text 'tutu' WHERE X is Personne") |
1228 self.assertRaises(QueryError, self.execute, "SET X login 'tutu', X eid %s" % cnx.user(self.session).eid) |
1228 self.assertRaises(QueryError, self.execute, "SET X login 'tutu', X eid %s" % cnx.user(self.session).eid) |
1229 |
1229 |
|
1230 # HAVING on write queries test ############################################# |
|
1231 |
|
1232 def test_update_having(self): |
|
1233 peid1 = self.execute("INSERT Personne Y: Y nom 'hop', Y tel 1")[0][0] |
|
1234 peid2 = self.execute("INSERT Personne Y: Y nom 'hop', Y tel 2")[0][0] |
|
1235 rset = self.execute("SET X tel 3 WHERE X tel TEL HAVING TEL&1=1") |
|
1236 self.assertEqual(tuplify(rset.rows), [(peid1, 3)]) |
|
1237 |
|
1238 def test_insert_having(self): |
|
1239 self.skip('unsupported yet') |
|
1240 self.execute("INSERT Personne Y: Y nom 'hop', Y tel 1")[0][0] |
|
1241 with self.debugged('DBG_SQL'): |
|
1242 self.assertFalse(self.execute("INSERT Personne Y: Y nom 'hop', Y tel 2 WHERE X tel XT HAVING XT&2=2")) |
|
1243 self.assertTrue(self.execute("INSERT Personne Y: Y nom 'hop', Y tel 2 WHERE X tel XT HAVING XT&1=1")) |
|
1244 |
|
1245 def test_delete_having(self): |
|
1246 self.execute("INSERT Personne Y: Y nom 'hop', Y tel 1")[0][0] |
|
1247 self.assertFalse(self.execute("DELETE Personne Y WHERE X tel XT HAVING XT&2=2")) |
|
1248 self.assertTrue(self.execute("DELETE Personne Y WHERE X tel XT HAVING XT&1=1")) |
|
1249 |
1230 # upassword encryption tests ################################################# |
1250 # upassword encryption tests ################################################# |
1231 |
1251 |
1232 def test_insert_upassword(self): |
1252 def test_insert_upassword(self): |
1233 rset = self.execute("INSERT CWUser X: X login 'bob', X upassword 'toto'") |
1253 rset = self.execute("INSERT CWUser X: X login 'bob', X upassword 'toto'") |
1234 self.assertEqual(len(rset.rows), 1) |
1254 self.assertEqual(len(rset.rows), 1) |