server/test/unittest_migractions.py
changeset 2608 21856eda34f6
parent 2591 287e43c6ed81
child 2637 07103211e511
equal deleted inserted replaced
2607:5d889b4928bb 2608:21856eda34f6
     1 """unit tests for module cubicweb.server.migractions
     1 """unit tests for module cubicweb.server.migractions
     2 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     2 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     3 """
     3 """
     4 
     4 
     5 from datetime import date
     5 from datetime import date
       
     6 from os.path import join
     6 
     7 
     7 from logilab.common.testlib import TestCase, unittest_main
     8 from logilab.common.testlib import TestCase, unittest_main
       
     9 
       
    10 from cubicweb import ConfigurationError
     8 from cubicweb.devtools.apptest import RepositoryBasedTC, get_versions
    11 from cubicweb.devtools.apptest import RepositoryBasedTC, get_versions
     9 
       
    10 from cubicweb import ConfigurationError
       
    11 from cubicweb.schema import CubicWebSchemaLoader
    12 from cubicweb.schema import CubicWebSchemaLoader
    12 from cubicweb.server.sqlutils import SQL_PREFIX
    13 from cubicweb.server.sqlutils import SQL_PREFIX
    13 from cubicweb.server.repository import Repository
    14 from cubicweb.server.repository import Repository
    14 from cubicweb.server.migractions import *
    15 from cubicweb.server.migractions import *
    15 
    16 
    30             repo = self.repo # set by the RepositoryBasedTC metaclass
    31             repo = self.repo # set by the RepositoryBasedTC metaclass
    31             # force to read schema from the database
    32             # force to read schema from the database
    32             repo.config._cubes = None
    33             repo.config._cubes = None
    33             repo.fill_schema()
    34             repo.fill_schema()
    34             # hack to read the schema from data/migrschema
    35             # hack to read the schema from data/migrschema
    35             CubicWebSchemaLoader.main_schema_directory = 'migrschema'
    36             self.repo.config.appid = join('data', 'migratedapp')
    36             global migrschema
    37             global migrschema
    37             migrschema = self.repo.config.load_schema()
    38             migrschema = self.repo.config.load_schema()
    38             del CubicWebSchemaLoader.main_schema_directory
    39             self.repo.config.appid = 'data'
    39             assert 'Folder' in migrschema
    40             assert 'Folder' in migrschema
    40             self.repo.hm.deactivate_verification_hooks()
    41             self.repo.hm.deactivate_verification_hooks()
    41         RepositoryBasedTC.setUp(self)
    42         RepositoryBasedTC.setUp(self)
    42         self.mh = ServerMigrationHelper(self.repo.config, migrschema,
    43         self.mh = ServerMigrationHelper(self.repo.config, migrschema,
    43                                         repo=self.repo, cnx=self.cnx,
    44                                         repo=self.repo, cnx=self.cnx,
   354             self.mh.cmd_set_size_constraint('CWEType', 'description', None)
   355             self.mh.cmd_set_size_constraint('CWEType', 'description', None)
   355 
   356 
   356     def test_add_remove_cube_and_deps(self):
   357     def test_add_remove_cube_and_deps(self):
   357         cubes = set(self.config.cubes())
   358         cubes = set(self.config.cubes())
   358         schema = self.repo.schema
   359         schema = self.repo.schema
   359         self.assertEquals(sorted(schema['see_also']._rproperties.keys()),
   360         self.assertEquals(sorted((str(s), str(o)) for s, o in schema['see_also']._rproperties.keys()),
   360                           sorted([('EmailThread', 'EmailThread'), ('Folder', 'Folder'),
   361                           sorted([('EmailThread', 'EmailThread'), ('Folder', 'Folder'),
   361                                   ('Bookmark', 'Bookmark'), ('Bookmark', 'Note'),
   362                                   ('Bookmark', 'Bookmark'), ('Bookmark', 'Note'),
   362                                   ('Note', 'Note'), ('Note', 'Bookmark')]))
   363                                   ('Note', 'Note'), ('Note', 'Bookmark')]))
   363         try:
   364         try:
   364             try:
   365             try: