--- a/server/test/unittest_migractions.py Sat Aug 01 17:20:26 2009 +0200
+++ b/server/test/unittest_migractions.py Sat Aug 01 17:21:19 2009 +0200
@@ -133,14 +133,16 @@
self.failUnless('filed_under2' in self.schema)
self.failUnless(self.execute('CWRType X WHERE X name "filed_under2"'))
self.assertEquals(sorted(str(rs) for rs in self.schema['Folder2'].subject_relations()),
- ['created_by', 'creation_date', 'description', 'description_format', 'eid',
- 'filed_under2', 'has_text', 'identity', 'is', 'is_instance_of',
+ ['created_by', 'creation_date', 'cwuri',
+ 'description', 'description_format',
+ 'eid',
+ 'filed_under2', 'has_text',
+ 'identity', 'in_basket', 'is', 'is_instance_of',
'modification_date', 'name', 'owned_by'])
self.assertEquals([str(rs) for rs in self.schema['Folder2'].object_relations()],
['filed_under2', 'identity'])
self.assertEquals(sorted(str(e) for e in self.schema['filed_under2'].subjects()),
- ['Affaire', 'Card', 'Division', 'Email', 'EmailThread', 'File',
- 'Folder2', 'Image', 'Note', 'Personne', 'Societe', 'SubDivision'])
+ sorted(str(e) for e in self.schema.entities() if not e.is_final()))
self.assertEquals(self.schema['filed_under2'].objects(), ('Folder2',))
eschema = self.schema.eschema('Folder2')
for cstr in eschema.constraints('name'):
@@ -166,8 +168,7 @@
self.mh.cmd_add_relation_type('filed_under2')
self.failUnless('filed_under2' in self.schema)
self.assertEquals(sorted(str(e) for e in self.schema['filed_under2'].subjects()),
- ['Affaire', 'Card', 'Division', 'Email', 'EmailThread', 'File',
- 'Folder2', 'Image', 'Note', 'Personne', 'Societe', 'SubDivision'])
+ sorted(str(e) for e in self.schema.entities() if not e.is_final()))
self.assertEquals(self.schema['filed_under2'].objects(), ('Folder2',))
self.mh.cmd_drop_relation_type('filed_under2')
self.failIf('filed_under2' in self.schema)
@@ -181,26 +182,38 @@
self.failIf('concerne2' in self.schema)
def test_drop_relation_definition_existant_rtype(self):
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()), ['Affaire', 'Personne'])
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()), ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()),
+ ['Affaire', 'Personne'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()),
+ ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
self.mh.cmd_drop_relation_definition('Personne', 'concerne', 'Affaire')
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()), ['Affaire'])
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()), ['Division', 'Note', 'Societe', 'SubDivision'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()),
+ ['Affaire'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()),
+ ['Division', 'Note', 'Societe', 'SubDivision'])
self.mh.cmd_add_relation_definition('Personne', 'concerne', 'Affaire')
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()), ['Affaire', 'Personne'])
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()), ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()),
+ ['Affaire', 'Personne'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()),
+ ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
# trick: overwrite self.maxeid to avoid deletion of just reintroduced types
self.maxeid = self.execute('Any MAX(X)')[0][0]
def test_drop_relation_definition_with_specialization(self):
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()), ['Affaire', 'Personne'])
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()), ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()),
+ ['Affaire', 'Personne'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()),
+ ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
self.mh.cmd_drop_relation_definition('Affaire', 'concerne', 'Societe')
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()), ['Affaire', 'Personne'])
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()), ['Affaire', 'Note'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()),
+ ['Affaire', 'Personne'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()),
+ ['Affaire', 'Note'])
self.mh.cmd_add_relation_definition('Affaire', 'concerne', 'Societe')
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()), ['Affaire', 'Personne'])
- self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()), ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].subjects()),
+ ['Affaire', 'Personne'])
+ self.assertEquals(sorted(str(e) for e in self.schema['concerne'].objects()),
+ ['Affaire', 'Division', 'Note', 'Societe', 'SubDivision'])
# trick: overwrite self.maxeid to avoid deletion of just reintroduced types
self.maxeid = self.execute('Any MAX(X)')[0][0]
@@ -233,28 +246,15 @@
self.mh.cmd_change_relation_props('Personne', 'adel', 'String',
fulltextindexed=False)
- def test_synchronize_schema(self):
+ def test_sync_schema_props_perms(self):
cursor = self.mh.rqlcursor
nbrqlexpr_start = len(cursor.execute('RQLExpression X'))
migrschema['titre']._rproperties[('Personne', 'String')]['order'] = 7
migrschema['adel']._rproperties[('Personne', 'String')]['order'] = 6
migrschema['ass']._rproperties[('Personne', 'String')]['order'] = 5
-# expected = ['eid', 'has_text', 'creation_date', 'modification_date',
-# 'nom', 'prenom', 'civility', 'promo', 'ass', 'adel', 'titre',
-# 'web', 'tel', 'fax', 'datenaiss', 'test']
-# self.assertEquals([rs.type for rs in migrschema['Personne'].ordered_relations() if rs.is_final()],
-# expected)
migrschema['Personne'].description = 'blabla bla'
migrschema['titre'].description = 'usually a title'
migrschema['titre']._rproperties[('Personne', 'String')]['description'] = 'title for this person'
-# rinorderbefore = cursor.execute('Any O,N WHERE X is CWAttribute, X relation_type RT, RT name N,'
-# 'X from_entity FE, FE name "Personne",'
-# 'X ordernum O ORDERBY O')
-# expected = [u'creation_date', u'modification_date', u'nom', u'prenom',
-# u'sexe', u'promo', u'titre', u'adel', u'ass', u'web', u'tel',
-# u'fax', u'datenaiss', u'test', u'description']
-# self.assertListEquals(rinorderbefore, map(list, zip([0, 0]+range(1, len(expected)), expected)))
-
self.mh.cmd_sync_schema_props_perms(commit=False)
self.assertEquals(cursor.execute('Any D WHERE X name "Personne", X description D')[0][0],
@@ -265,16 +265,13 @@
'X from_entity FE, FE name "Personne",'
'X description D')[0][0],
'title for this person')
- # skip "sexe" and "description" since they aren't in the migration
- # schema and so behaviour is undefined
- # "civility" is also skipped since it may have been added by
- # test_rename_attribut :o/
- rinorder = [n for n, in cursor.execute('Any N ORDERBY O WHERE X is CWAttribute, X relation_type RT, RT name N,'
- 'X from_entity FE, FE name "Personne",'
- 'X ordernum O') if n not in ('sexe', 'description', 'civility')]
+ rinorder = [n for n, in cursor.execute(
+ 'Any N ORDERBY O WHERE X is CWAttribute, X relation_type RT, RT name N,'
+ 'X from_entity FE, FE name "Personne",'
+ 'X ordernum O')]
expected = [u'nom', u'prenom', u'promo', u'ass', u'adel', u'titre',
- u'web', u'tel', u'fax', u'datenaiss', u'test', u'firstname',
- u'creation_date', u'modification_date']
+ u'web', u'tel', u'fax', u'datenaiss', u'test', 'description', u'firstname',
+ u'creation_date', 'cwuri', u'modification_date']
self.assertEquals(rinorder, expected)
# test permissions synchronization ####################################