test/unittest_schema.py
changeset 7152 39c1ffc7d93f
parent 7147 db63a05b260e
child 7166 dde161937d3e
equal deleted inserted replaced
7150:8f9f542622d9 7152:39c1ffc7d93f
     1 # copyright 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     1 # copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     3 #
     3 #
     4 # This file is part of CubicWeb.
     4 # This file is part of CubicWeb.
     5 #
     5 #
     6 # CubicWeb is free software: you can redistribute it and/or modify it under the
     6 # CubicWeb is free software: you can redistribute it and/or modify it under the
   237         self.assertEqual(properties.cardinality, '1*')
   237         self.assertEqual(properties.cardinality, '1*')
   238         constraints = properties.constraints
   238         constraints = properties.constraints
   239         self.failUnlessEqual(len(constraints), 1, constraints)
   239         self.failUnlessEqual(len(constraints), 1, constraints)
   240         constraint = constraints[0]
   240         constraint = constraints[0]
   241         self.failUnless(isinstance(constraint, RQLConstraint))
   241         self.failUnless(isinstance(constraint, RQLConstraint))
   242         self.failUnlessEqual(constraint.restriction, 'O final TRUE')
   242         self.failUnlessEqual(constraint.expression, 'O final TRUE')
   243 
   243 
   244     def test_fulltext_container(self):
   244     def test_fulltext_container(self):
   245         schema = loader.load(config)
   245         schema = loader.load(config)
   246         self.failUnless('has_text' in schema['CWUser'].subject_relations())
   246         self.failUnless('has_text' in schema['CWUser'].subject_relations())
   247         self.failIf('has_text' in schema['EmailAddress'].subject_relations())
   247         self.failIf('has_text' in schema['EmailAddress'].subject_relations())
   313                              ERQLExpression('X is CWGroup', 'X', 0))
   313                              ERQLExpression('X is CWGroup', 'X', 0))
   314 
   314 
   315 class GuessRrqlExprMainVarsTC(TestCase):
   315 class GuessRrqlExprMainVarsTC(TestCase):
   316     def test_exists(self):
   316     def test_exists(self):
   317         mainvars = guess_rrqlexpr_mainvars(normalize_expression('NOT EXISTS(O team_competition C, C level < 3)'))
   317         mainvars = guess_rrqlexpr_mainvars(normalize_expression('NOT EXISTS(O team_competition C, C level < 3)'))
   318         self.assertEqual(mainvars, 'O')
   318         self.assertEqual(mainvars, set(['O']))
   319 
   319 
   320 
   320 
   321 if __name__ == '__main__':
   321 if __name__ == '__main__':
   322     unittest_main()
   322     unittest_main()