server/test/unittest_migractions.py
changeset 8111 d1be698018d2
parent 8105 7980b36fb1aa
child 8694 d901c36bcfce
equal deleted inserted replaced
8110:d743865ba7ed 8111:d1be698018d2
   194     def test_add_entity_type(self):
   194     def test_add_entity_type(self):
   195         self.assertFalse('Folder2' in self.schema)
   195         self.assertFalse('Folder2' in self.schema)
   196         self.assertFalse('filed_under2' in self.schema)
   196         self.assertFalse('filed_under2' in self.schema)
   197         self.mh.cmd_add_entity_type('Folder2')
   197         self.mh.cmd_add_entity_type('Folder2')
   198         self.assertTrue('Folder2' in self.schema)
   198         self.assertTrue('Folder2' in self.schema)
       
   199         self.assertTrue('Old' in self.schema)
   199         self.assertTrue(self.execute('CWEType X WHERE X name "Folder2"'))
   200         self.assertTrue(self.execute('CWEType X WHERE X name "Folder2"'))
   200         self.assertTrue('filed_under2' in self.schema)
   201         self.assertTrue('filed_under2' in self.schema)
   201         self.assertTrue(self.execute('CWRType X WHERE X name "filed_under2"'))
   202         self.assertTrue(self.execute('CWRType X WHERE X name "filed_under2"'))
   202         self.schema.rebuild_infered_relations()
   203         self.schema.rebuild_infered_relations()
   203         self.assertEqual(sorted(str(rs) for rs in self.schema['Folder2'].subject_relations()),
   204         self.assertEqual(sorted(str(rs) for rs in self.schema['Folder2'].subject_relations()),
   207                            'filed_under2', 'has_text',
   208                            'filed_under2', 'has_text',
   208                            'identity', 'in_basket', 'is', 'is_instance_of',
   209                            'identity', 'in_basket', 'is', 'is_instance_of',
   209                            'modification_date', 'name', 'owned_by'])
   210                            'modification_date', 'name', 'owned_by'])
   210         self.assertEqual([str(rs) for rs in self.schema['Folder2'].object_relations()],
   211         self.assertEqual([str(rs) for rs in self.schema['Folder2'].object_relations()],
   211                           ['filed_under2', 'identity'])
   212                           ['filed_under2', 'identity'])
       
   213         # Old will be missing as it has been renamed into 'New' in the migrated
       
   214         # schema while New hasn't been added here.
   212         self.assertEqual(sorted(str(e) for e in self.schema['filed_under2'].subjects()),
   215         self.assertEqual(sorted(str(e) for e in self.schema['filed_under2'].subjects()),
   213                           sorted(str(e) for e in self.schema.entities() if not e.final))
   216                          sorted(str(e) for e in self.schema.entities() if not e.final and e != 'Old'))
   214         self.assertEqual(self.schema['filed_under2'].objects(), ('Folder2',))
   217         self.assertEqual(self.schema['filed_under2'].objects(), ('Folder2',))
   215         eschema = self.schema.eschema('Folder2')
   218         eschema = self.schema.eschema('Folder2')
   216         for cstr in eschema.rdef('name').constraints:
   219         for cstr in eschema.rdef('name').constraints:
   217             self.assertTrue(hasattr(cstr, 'eid'))
   220             self.assertTrue(hasattr(cstr, 'eid'))
   218 
   221 
   243     def test_add_drop_relation_type(self):
   246     def test_add_drop_relation_type(self):
   244         self.mh.cmd_add_entity_type('Folder2', auto=False)
   247         self.mh.cmd_add_entity_type('Folder2', auto=False)
   245         self.mh.cmd_add_relation_type('filed_under2')
   248         self.mh.cmd_add_relation_type('filed_under2')
   246         self.schema.rebuild_infered_relations()
   249         self.schema.rebuild_infered_relations()
   247         self.assertTrue('filed_under2' in self.schema)
   250         self.assertTrue('filed_under2' in self.schema)
       
   251         # Old will be missing as it has been renamed into 'New' in the migrated
       
   252         # schema while New hasn't been added here.
   248         self.assertEqual(sorted(str(e) for e in self.schema['filed_under2'].subjects()),
   253         self.assertEqual(sorted(str(e) for e in self.schema['filed_under2'].subjects()),
   249                           sorted(str(e) for e in self.schema.entities() if not e.final))
   254                          sorted(str(e) for e in self.schema.entities()
       
   255                                 if not e.final and e != 'Old'))
   250         self.assertEqual(self.schema['filed_under2'].objects(), ('Folder2',))
   256         self.assertEqual(self.schema['filed_under2'].objects(), ('Folder2',))
   251         self.mh.cmd_drop_relation_type('filed_under2')
   257         self.mh.cmd_drop_relation_type('filed_under2')
   252         self.assertFalse('filed_under2' in self.schema)
   258         self.assertFalse('filed_under2' in self.schema)
   253 
   259 
   254     def test_add_relation_definition_nortype(self):
   260     def test_add_relation_definition_nortype(self):