20 |
20 |
21 from cubicweb.schema import ( |
21 from cubicweb.schema import ( |
22 CubicWebSchema, CubicWebEntitySchema, CubicWebSchemaLoader, |
22 CubicWebSchema, CubicWebEntitySchema, CubicWebSchemaLoader, |
23 RQLConstraint, RQLUniqueConstraint, RQLVocabularyConstraint, |
23 RQLConstraint, RQLUniqueConstraint, RQLVocabularyConstraint, |
24 RQLExpression, ERQLExpression, RRQLExpression, |
24 RQLExpression, ERQLExpression, RRQLExpression, |
25 normalize_expression, order_eschemas) |
25 normalize_expression, order_eschemas, guess_rrqlexpr_mainvars) |
26 from cubicweb.devtools import TestServerConfiguration as TestConfiguration |
26 from cubicweb.devtools import TestServerConfiguration as TestConfiguration |
27 |
27 |
28 DATADIR = join(dirname(__file__), 'data') |
28 DATADIR = join(dirname(__file__), 'data') |
29 |
29 |
30 # build a dummy schema ######################################################## |
30 # build a dummy schema ######################################################## |
276 |
276 |
277 class RQLExpressionTC(TestCase): |
277 class RQLExpressionTC(TestCase): |
278 def test_comparison(self): |
278 def test_comparison(self): |
279 self.assertEquals(ERQLExpression('X is CWUser', 'X', 0), ERQLExpression('X is CWUser', 'X', 0)) |
279 self.assertEquals(ERQLExpression('X is CWUser', 'X', 0), ERQLExpression('X is CWUser', 'X', 0)) |
280 self.assertNotEquals(ERQLExpression('X is CWUser', 'X', 0), ERQLExpression('X is CWGroup', 'X', 0)) |
280 self.assertNotEquals(ERQLExpression('X is CWUser', 'X', 0), ERQLExpression('X is CWGroup', 'X', 0)) |
|
281 |
|
282 class GuessRrqlExprMainVarsTC(TestCase): |
|
283 def test_exists(self): |
|
284 mainvars = guess_rrqlexpr_mainvars(normalize_expression('NOT EXISTS(O team_competition C, C level < 3)')) |
|
285 self.assertEquals(mainvars, 'O') |
|
286 |
|
287 |
281 if __name__ == '__main__': |
288 if __name__ == '__main__': |
282 unittest_main() |
289 unittest_main() |