test/unittest_schema.py
branchtls-sprint
changeset 1398 5fe84a5f7035
parent 985 6a25c58a1c23
child 1802 d628defebc17
equal deleted inserted replaced
1397:6cbc7bc8ea6d 1398:5fe84a5f7035
   139         self.assertEquals(schema.name, 'data')
   139         self.assertEquals(schema.name, 'data')
   140         entities = [str(e) for e in schema.entities()]
   140         entities = [str(e) for e in schema.entities()]
   141         entities.sort()
   141         entities.sort()
   142         expected_entities = ['Bookmark', 'Boolean', 'Bytes', 'Card', 
   142         expected_entities = ['Bookmark', 'Boolean', 'Bytes', 'Card', 
   143                              'Date', 'Datetime', 'Decimal',
   143                              'Date', 'Datetime', 'Decimal',
   144                              'ECache', 'EConstraint', 'EConstraintType', 'EEType',
   144                              'CWCache', 'CWConstraint', 'CWConstraintType', 'CWEType',
   145                              'EFRDef', 'EGroup', 'EmailAddress', 'ENFRDef',
   145                              'CWAttribute', 'CWGroup', 'EmailAddress', 'CWRelation',
   146                              'EPermission', 'EProperty', 'ERType', 'EUser',
   146                              'CWPermission', 'CWProperty', 'CWRType', 'CWUser',
   147                              'File', 'Float', 'Image', 'Int', 'Interval', 'Note',
   147                              'File', 'Float', 'Image', 'Int', 'Interval', 'Note',
   148                              'Password', 'Personne',
   148                              'Password', 'Personne',
   149                              'RQLExpression', 
   149                              'RQLExpression', 
   150                              'Societe', 'State', 'String', 'SubNote', 'Tag', 'Time', 
   150                              'Societe', 'State', 'String', 'SubNote', 'Tag', 'Time', 
   151                              'Transition', 'TrInfo']
   151                              'Transition', 'TrInfo']
   193 
   193 
   194                               'wf_info_for', 'wikiid']
   194                               'wf_info_for', 'wikiid']
   195     
   195     
   196         self.assertListEquals(relations, expected_relations)
   196         self.assertListEquals(relations, expected_relations)
   197 
   197 
   198         eschema = schema.eschema('EUser')
   198         eschema = schema.eschema('CWUser')
   199         rels = sorted(str(r) for r in eschema.subject_relations())
   199         rels = sorted(str(r) for r in eschema.subject_relations())
   200         self.assertListEquals(rels, ['created_by', 'creation_date', 'eid',
   200         self.assertListEquals(rels, ['created_by', 'creation_date', 'eid',
   201                                      'evaluee', 'firstname', 'has_text', 'identity',
   201                                      'evaluee', 'firstname', 'has_text', 'identity',
   202                                      'in_group', 'in_state', 'is',
   202                                      'in_group', 'in_state', 'is',
   203                                      'is_instance_of', 'last_login_time',
   203                                      'is_instance_of', 'last_login_time',
   206                                      'use_email'])
   206                                      'use_email'])
   207         rels = sorted(r.type for r in eschema.object_relations())
   207         rels = sorted(r.type for r in eschema.object_relations())
   208         self.assertListEquals(rels, ['bookmarked_by', 'created_by', 'for_user',
   208         self.assertListEquals(rels, ['bookmarked_by', 'created_by', 'for_user',
   209                                      'identity', 'owned_by', 'wf_info_for'])
   209                                      'identity', 'owned_by', 'wf_info_for'])
   210         rschema = schema.rschema('relation_type')
   210         rschema = schema.rschema('relation_type')
   211         properties = rschema.rproperties('EFRDef', 'ERType')
   211         properties = rschema.rproperties('CWAttribute', 'CWRType')
   212         self.assertEquals(properties['cardinality'], '1*')
   212         self.assertEquals(properties['cardinality'], '1*')
   213         constraints = properties['constraints']
   213         constraints = properties['constraints']
   214         self.failUnlessEqual(len(constraints), 1, constraints)
   214         self.failUnlessEqual(len(constraints), 1, constraints)
   215         constraint = constraints[0]
   215         constraint = constraints[0]
   216         self.failUnless(isinstance(constraint, RQLConstraint))
   216         self.failUnless(isinstance(constraint, RQLConstraint))
   217         self.failUnlessEqual(constraint.restriction, 'O final TRUE')
   217         self.failUnlessEqual(constraint.restriction, 'O final TRUE')
   218 
   218 
   219     def test_fulltext_container(self):
   219     def test_fulltext_container(self):
   220         schema = loader.load(config)
   220         schema = loader.load(config)
   221         self.failUnless('has_text' in schema['EUser'].subject_relations())
   221         self.failUnless('has_text' in schema['CWUser'].subject_relations())
   222         self.failIf('has_text' in schema['EmailAddress'].subject_relations())
   222         self.failIf('has_text' in schema['EmailAddress'].subject_relations())
   223 
   223 
   224 
   224 
   225 class BadSchemaRQLExprTC(TestCase):
   225 class BadSchemaRQLExprTC(TestCase):
   226     def setUp(self):
   226     def setUp(self):