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): |