server/test/unittest_querier.py
branch3.5
changeset 2921 8e2544e78a5e
parent 2920 64322aa83a1d
child 2968 0e3460341023
child 3120 57ceabc6dfbc
equal deleted inserted replaced
2920:64322aa83a1d 2921:8e2544e78a5e
   988 
   988 
   989     def test_update_1(self):
   989     def test_update_1(self):
   990         peid = self.execute("INSERT Personne Y: Y nom 'toto'")[0][0]
   990         peid = self.execute("INSERT Personne Y: Y nom 'toto'")[0][0]
   991         rset = self.execute('Personne X WHERE X nom "toto"')
   991         rset = self.execute('Personne X WHERE X nom "toto"')
   992         self.assertEqual(len(rset.rows), 1)
   992         self.assertEqual(len(rset.rows), 1)
   993         self.execute("SET X nom 'tutu', X prenom 'original' WHERE X is Personne, X nom 'toto'")
   993         rset = self.execute("SET X nom 'tutu', X prenom 'original' WHERE X is Personne, X nom 'toto'")
       
   994         self.assertEqual(tuplify(rset.rows), [(peid, 'tutu', 'original')])
   994         rset = self.execute('Any Y, Z WHERE X is Personne, X nom Y, X prenom Z')
   995         rset = self.execute('Any Y, Z WHERE X is Personne, X nom Y, X prenom Z')
   995         self.assertEqual(tuplify(rset.rows), [('tutu', 'original')])
   996         self.assertEqual(tuplify(rset.rows), [('tutu', 'original')])
   996 
   997 
   997     def test_update_2(self):
   998     def test_update_2(self):
   998         self.execute("INSERT Personne X, Societe Y: X nom 'bidule', Y nom 'toto'")
   999         peid, seid = self.execute("INSERT Personne X, Societe Y: X nom 'bidule', Y nom 'toto'")[0]
   999         #rset = self.execute('Any X, Y WHERE X nom "bidule", Y nom "toto"')
  1000         rset = self.execute("SET X travaille Y WHERE X nom 'bidule', Y nom 'toto'")
  1000         #self.assertEqual(len(rset.rows), 1)
  1001         self.assertEquals(tuplify(rset.rows), [(peid, seid)])
  1001         #rset = self.execute('Any X, Y WHERE X travaille Y')
       
  1002         #self.assertEqual(len(rset.rows), 0)
       
  1003         self.execute("SET X travaille Y WHERE X nom 'bidule', Y nom 'toto'")
       
  1004         rset = self.execute('Any X, Y WHERE X travaille Y')
  1002         rset = self.execute('Any X, Y WHERE X travaille Y')
  1005         self.assertEqual(len(rset.rows), 1)
  1003         self.assertEqual(len(rset.rows), 1)
  1006 
  1004 
  1007     def test_update_2bis(self):
  1005     def test_update_2bis(self):
  1008         rset = self.execute("INSERT Personne X, Societe Y: X nom 'bidule', Y nom 'toto'")
  1006         rset = self.execute("INSERT Personne X, Societe Y: X nom 'bidule', Y nom 'toto'")
  1017         eid1, eid2 = rset[0][0], rset[0][1]
  1015         eid1, eid2 = rset[0][0], rset[0][1]
  1018         self.execute("SET X travaille Y WHERE X eid %(x)s, Y eid %(y)s",
  1016         self.execute("SET X travaille Y WHERE X eid %(x)s, Y eid %(y)s",
  1019                       {'x': unicode(eid1), 'y': unicode(eid2)})
  1017                       {'x': unicode(eid1), 'y': unicode(eid2)})
  1020         rset = self.execute('Any X, Y WHERE X travaille Y')
  1018         rset = self.execute('Any X, Y WHERE X travaille Y')
  1021         self.assertEqual(len(rset.rows), 1)
  1019         self.assertEqual(len(rset.rows), 1)
  1022 
       
  1023 ##     def test_update_4(self):
       
  1024 ##         self.execute("SET X know Y WHERE X ami Y")
       
  1025 
  1020 
  1026     def test_update_multiple1(self):
  1021     def test_update_multiple1(self):
  1027         peid1 = self.execute("INSERT Personne Y: Y nom 'tutu'")[0][0]
  1022         peid1 = self.execute("INSERT Personne Y: Y nom 'tutu'")[0][0]
  1028         peid2 = self.execute("INSERT Personne Y: Y nom 'toto'")[0][0]
  1023         peid2 = self.execute("INSERT Personne Y: Y nom 'toto'")[0][0]
  1029         self.execute("SET X nom 'tutu', Y nom 'toto' WHERE X nom 'toto', Y nom 'tutu'")
  1024         self.execute("SET X nom 'tutu', Y nom 'toto' WHERE X nom 'toto', Y nom 'tutu'")