233 cnx = self.login('anon') |
233 cnx = self.login('anon') |
234 cu = cnx.cursor() |
234 cu = cnx.cursor() |
235 self.assertRaises(Unauthorized, |
235 self.assertRaises(Unauthorized, |
236 cu.execute, 'Personne U where U nom "managers"') |
236 cu.execute, 'Personne U where U nom "managers"') |
237 |
237 |
238 def test_read_erqlexpr(self): |
238 def test_read_erqlexpr_base(self): |
239 eid = self.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
239 eid = self.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
240 self.commit() |
240 self.commit() |
241 cnx = self.login('iaminusersgrouponly') |
241 cnx = self.login('iaminusersgrouponly') |
242 cu = cnx.cursor() |
242 cu = cnx.cursor() |
243 rset = cu.execute('Affaire X') |
243 rset = cu.execute('Affaire X') |
244 self.assertEquals(rset.rows, []) |
244 self.assertEquals(rset.rows, []) |
245 self.assertRaises(Unauthorized, cu.execute, 'Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
245 self.assertRaises(Unauthorized, cu.execute, 'Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
246 # cache test |
246 # cache test |
247 self.assertRaises(Unauthorized, cu.execute, 'Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
247 self.assertRaises(Unauthorized, cu.execute, 'Any X WHERE X eid %(x)s', {'x': eid}, 'x') |
248 aff2 = cu.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
248 aff2 = cu.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
249 soc1 = cu.execute("INSERT Societe X: X nom 'chouette'")[0][0] |
249 soc1 = cu.execute("INSERT Societe X: X nom 'chouette'")[0][0] |
250 cu.execute("SET A concerne S WHERE A is Affaire, S is Societe") |
250 cu.execute("SET A concerne S WHERE A is Affaire, S is Societe") |
251 cnx.commit() |
251 cnx.commit() |
252 rset = cu.execute('Any X WHERE X eid %(x)s', {'x': aff2}, 'x') |
252 rset = cu.execute('Any X WHERE X eid %(x)s', {'x': aff2}, 'x') |
253 self.assertEquals(rset.rows, [[aff2]]) |
253 self.assertEquals(rset.rows, [[aff2]]) |
|
254 # more cache test w/ NOT eid |
|
255 rset = cu.execute('Affaire X WHERE NOT X eid %(x)s', {'x': eid}, 'x') |
|
256 self.assertEquals(rset.rows, []) |
|
257 rset = cu.execute('Affaire X WHERE NOT X eid %(x)s', {'x': aff2}, 'x') |
|
258 self.assertEquals(rset.rows, []) |
254 |
259 |
255 def test_read_erqlexpr_has_text1(self): |
260 def test_read_erqlexpr_has_text1(self): |
256 aff1 = self.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
261 aff1 = self.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
257 card1 = self.execute("INSERT Card X: X title 'cool'")[0][0] |
262 card1 = self.execute("INSERT Card X: X title 'cool'")[0][0] |
258 self.execute('SET X owned_by U WHERE X eid %(x)s, U login "iaminusersgrouponly"', {'x': card1}, 'x') |
263 self.execute('SET X owned_by U WHERE X eid %(x)s, U login "iaminusersgrouponly"', {'x': card1}, 'x') |
298 self.commit() |
303 self.commit() |
299 cnx = self.login('iaminusersgrouponly') |
304 cnx = self.login('iaminusersgrouponly') |
300 cu = cnx.cursor() |
305 cu = cnx.cursor() |
301 rset = cu.execute('Any COUNT(X) WHERE X is Affaire') |
306 rset = cu.execute('Any COUNT(X) WHERE X is Affaire') |
302 self.assertEquals(rset.rows, [[0]]) |
307 self.assertEquals(rset.rows, [[0]]) |
303 cu = cnx.cursor() |
|
304 aff2 = cu.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
308 aff2 = cu.execute("INSERT Affaire X: X sujet 'cool'")[0][0] |
305 soc1 = cu.execute("INSERT Societe X: X nom 'chouette'")[0][0] |
309 soc1 = cu.execute("INSERT Societe X: X nom 'chouette'")[0][0] |
306 cu.execute("SET A concerne S WHERE A is Affaire, S is Societe") |
310 cu.execute("SET A concerne S WHERE A is Affaire, S is Societe") |
307 cnx.commit() |
311 cnx.commit() |
308 rset = cu.execute('Any COUNT(X) WHERE X is Affaire') |
312 rset = cu.execute('Any COUNT(X) WHERE X is Affaire') |