Exemplo n.º 1
0
 def setUp(self):
     """Establish a clean test environment"""
     super(TestRegistryV2Client, self).setUp()
     db_api.get_engine()
     self.context = context.RequestContext(is_admin=True)
     uuid1_time = timeutils.utcnow()
     uuid2_time = uuid1_time + datetime.timedelta(seconds=5)
     self.FIXTURES = [
         self.get_extra_fixture(
             id=UUID1,
             name='fake image #1',
             is_public=False,
             disk_format='ami',
             container_format='ami',
             size=13,
             virtual_size=26,
             properties={'type': 'kernel'},
             location="swift://*****:*****@acct/container/obj.tar.0",
             created_at=uuid1_time),
         self.get_extra_fixture(id=UUID2,
                                name='fake image #2',
                                properties={},
                                size=19,
                                virtual_size=38,
                                location="file:///tmp/xmonitor-tests/2",
                                created_at=uuid2_time)
     ]
     self.destroy_fixtures()
     self.create_fixtures()
     self.client = rclient.RegistryClient("0.0.0.0")
Exemplo n.º 2
0
    def setUp(self):
        """Establish a clean test environment"""
        super(TestRegistryV1Client, self).setUp()
        db_api.get_engine()
        self.context = context.RequestContext(is_admin=True)

        self.FIXTURES = [
            self.get_fixture(
                id=UUID1,
                name='fake image #1',
                is_public=False,
                disk_format='ami',
                container_format='ami',
                size=13,
                location="swift://*****:*****@acct/container/obj.tar.0",
                properties={'type': 'kernel'}),
            self.get_fixture(id=UUID2,
                             name='fake image #2',
                             properties={},
                             size=19,
                             location="file:///tmp/xmonitor-tests/2")
        ]
        self.destroy_fixtures()
        self.create_fixtures()
        self.client = rclient.RegistryClient("0.0.0.0")
Exemplo n.º 3
0
 def sync(self, version=None, current_version=None):
     """
     Place a database under migration control and upgrade/downgrade it,
     creating first if necessary.
     """
     if current_version not in (None, 'None'):
         migration.db_version_control(db_api.get_engine(),
                                      db_migration.MIGRATE_REPO_PATH,
                                      version=current_version)
     migration.db_sync(db_api.get_engine(), db_migration.MIGRATE_REPO_PATH,
                       version)
Exemplo n.º 4
0
 def sync(self, version=None, current_version=None):
     """
     Place a database under migration control and upgrade/downgrade it,
     creating first if necessary.
     """
     if current_version not in (None, 'None'):
         migration.db_version_control(db_api.get_engine(),
                                      db_migration.MIGRATE_REPO_PATH,
                                      version=current_version)
     migration.db_sync(db_api.get_engine(),
                       db_migration.MIGRATE_REPO_PATH,
                       version)
Exemplo n.º 5
0
 def test_db_metadefs_load_from_path_overwrite_existing(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper([
         'xmonitor.cmd.manage', 'db', 'load_metadefs', '--path', '/mock/',
         '--merge', '--overwrite'
     ], db_metadata.db_load_metadefs, db_api.get_engine(), '/mock/', True,
                            False, True)
Exemplo n.º 6
0
 def test_db_metadefs_load_prefer_new_and_overwrite_existing(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper([
         'xmonitor.cmd.manage', 'db', 'load_metadefs', '--merge',
         '--prefer_new', '--overwrite'
     ], db_metadata.db_load_metadefs, db_api.get_engine(), None, True, True,
                            True)
Exemplo n.º 7
0
 def test_db_metadefs_load_prefer_new(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper([
         'xmonitor.cmd.manage', 'db', 'load_metadefs', '--merge',
         '--prefer_new'
     ], db_metadata.db_load_metadefs, db_api.get_engine(), None, True, True,
                            False)
Exemplo n.º 8
0
 def test_db_metadefs_load_from_merge_and_prefer_new_and_overwrite(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper([
         'xmonitor.cmd.manage', 'db_load_metadefs', '/mock/', 'True',
         'True', 'True'
     ], db_metadata.db_load_metadefs, db_api.get_engine(), '/mock/', 'True',
                            'True', 'True')
Exemplo n.º 9
0
 def test_db_metadefs_load_from_merge_and_prefer_new_and_overwrite(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db_load_metadefs',
                             '/mock/', 'True', 'True', 'True'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            '/mock/', 'True', 'True', 'True')
Exemplo n.º 10
0
 def test_db_metadefs_load_prefer_new(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db', 'load_metadefs',
                             '--merge', '--prefer_new'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            None, True, True, False)
Exemplo n.º 11
0
 def test_db_metadefs_load_with_specified_path(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db_load_metadefs',
                             '/mock/'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            '/mock/', None, None, None)
Exemplo n.º 12
0
 def test_db_metadefs_load_from_path_merge(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db_load_metadefs',
                             '/mock/', 'True'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            '/mock/', 'True', None, None)
Exemplo n.º 13
0
 def test_db_metadefs_export_with_specified_path(self):
     db_metadata.db_export_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db', 'export_metadefs',
                             '--path', '/mock/'],
                            db_metadata.db_export_metadefs,
                            db_api.get_engine(),
                            '/mock/')
Exemplo n.º 14
0
 def test_db_metadefs_load_prefer_new_and_overwrite_existing(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db', 'load_metadefs',
                             '--merge', '--prefer_new', '--overwrite'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            None, True, True, True)
Exemplo n.º 15
0
def load_metadefs():
    """Read metadefinition files and insert data into the database"""
    return get_backend().db_load_metadefs(engine=db_api.get_engine(),
                                          metadata_path=None,
                                          merge=False,
                                          prefer_new=False,
                                          overwrite=False)
Exemplo n.º 16
0
 def test_db_metadefs_load_from_path_overwrite_existing(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db', 'load_metadefs',
                             '--path', '/mock/', '--merge', '--overwrite'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            '/mock/', True, False, True)
Exemplo n.º 17
0
 def run_sql_cmd(self, sql):
     """
     Provides a crude mechanism to run manual SQL commands for backend
     DB verification within the functional tests.
     The raw result set is returned.
     """
     engine = db_api.get_engine()
     return engine.execute(sql)
Exemplo n.º 18
0
 def load_metadefs(self,
                   path=None,
                   merge=False,
                   prefer_new=False,
                   overwrite=False):
     """Load metadefinition json files to database"""
     metadata.db_load_metadefs(db_api.get_engine(), path, merge, prefer_new,
                               overwrite)
Exemplo n.º 19
0
 def run_sql_cmd(self, sql):
     """
     Provides a crude mechanism to run manual SQL commands for backend
     DB verification within the functional tests.
     The raw result set is returned.
     """
     engine = db_api.get_engine()
     return engine.execute(sql)
Exemplo n.º 20
0
 def downgrade(self, version=None):
     """Downgrade the database's migration level"""
     print(
         "Warning: DB downgrade is deprecated and will be removed in N "
         "release. Users should make a full database backup of the "
         "production data before attempting any upgrade.",
         file=sys.stderr)
     migration.db_sync(db_api.get_engine(), db_migration.MIGRATE_REPO_PATH,
                       version)
Exemplo n.º 21
0
 def downgrade(self, version=None):
     """Downgrade the database's migration level"""
     print("Warning: DB downgrade is deprecated and will be removed in N "
           "release. Users should make a full database backup of the "
           "production data before attempting any upgrade.",
           file=sys.stderr)
     migration.db_sync(db_api.get_engine(),
                       db_migration.MIGRATE_REPO_PATH,
                       version)
Exemplo n.º 22
0
def db_sync(version=None, init_version=0, engine=None):
    """Migrate the database to `version` or the most recent version."""

    if engine is None:
        engine = db_api.get_engine()
    return get_backend().db_sync(engine=engine,
                                 abs_path=MIGRATE_REPO_PATH,
                                 version=version,
                                 init_version=init_version)
Exemplo n.º 23
0
 def setUp(self):
     """Establish a clean test environment"""
     super(TestRegistryV2Client, self).setUp()
     db_api.get_engine()
     self.context = context.RequestContext(is_admin=True)
     uuid1_time = timeutils.utcnow()
     uuid2_time = uuid1_time + datetime.timedelta(seconds=5)
     self.FIXTURES = [
         self.get_extra_fixture(
             id=UUID1, name='fake image #1', is_public=False,
             disk_format='ami', container_format='ami', size=13,
             virtual_size=26, properties={'type': 'kernel'},
             location="swift://*****:*****@acct/container/obj.tar.0",
             created_at=uuid1_time),
         self.get_extra_fixture(id=UUID2, name='fake image #2',
                                properties={}, size=19, virtual_size=38,
                                location="file:///tmp/xmonitor-tests/2",
                                created_at=uuid2_time)]
     self.destroy_fixtures()
     self.create_fixtures()
     self.client = rclient.RegistryClient("0.0.0.0")
Exemplo n.º 24
0
 def unload_metadefs(self):
     """Unload metadefinitions from database"""
     metadata.db_unload_metadefs(db_api.get_engine())
Exemplo n.º 25
0
 def upgrade(self, version=None):
     """Upgrade the database's migration level"""
     migration.db_sync(db_api.get_engine(), db_migration.MIGRATE_REPO_PATH,
                       version)
Exemplo n.º 26
0
 def load_metadefs(self, path=None, merge=False,
                   prefer_new=False, overwrite=False):
     """Load metadefinition json files to database"""
     metadata.db_load_metadefs(db_api.get_engine(), path, merge,
                               prefer_new, overwrite)
Exemplo n.º 27
0
 def test_legacy_db_downgrade_version(self, db_sync):
     self._main_test_helper(['xmonitor.cmd.manage', 'db_downgrade', '20'],
                            migration.db_sync, db_api.get_engine(),
                            db_migration.MIGRATE_REPO_PATH, '20')
Exemplo n.º 28
0
def unload_metadefs():
    """Unload metadefinitions from database"""
    return get_backend().db_unload_metadefs(engine=db_api.get_engine())
Exemplo n.º 29
0
 def upgrade(self, version=None):
     """Upgrade the database's migration level"""
     migration.db_sync(db_api.get_engine(),
                       db_migration.MIGRATE_REPO_PATH,
                       version)
Exemplo n.º 30
0
 def version_control(self, version=None):
     """Place a database under migration control"""
     migration.db_version_control(db_api.get_engine(),
                                  db_migration.MIGRATE_REPO_PATH,
                                  version)
Exemplo n.º 31
0
 def test_legacy_db_upgrade(self, db_sync):
     self._main_test_helper(['xmonitor.cmd.manage', 'db_upgrade'],
                            migration.db_sync, db_api.get_engine(),
                            db_migration.MIGRATE_REPO_PATH, None)
Exemplo n.º 32
0
 def test_db_metadefs_export_with_specified_path(self):
     db_metadata.db_export_metadefs = mock.Mock()
     self._main_test_helper([
         'xmonitor.cmd.manage', 'db', 'export_metadefs', '--path', '/mock/'
     ], db_metadata.db_export_metadefs, db_api.get_engine(), '/mock/')
Exemplo n.º 33
0
 def export_metadefs(self, path=None):
     """Export metadefinitions data from database to files"""
     metadata.db_export_metadefs(db_api.get_engine(), path)
Exemplo n.º 34
0
 def unload_metadefs(self):
     """Unload metadefinitions from database"""
     metadata.db_unload_metadefs(db_api.get_engine())
Exemplo n.º 35
0
 def version(self):
     """Print database's current migration level"""
     print(
         migration.db_version(db_api.get_engine(),
                              db_migration.MIGRATE_REPO_PATH,
                              db_migration.INIT_VERSION))
Exemplo n.º 36
0
 def test_db_metadefs_load_with_specified_path(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(
         ['xmonitor.cmd.manage', 'db_load_metadefs', '/mock/'],
         db_metadata.db_load_metadefs, db_api.get_engine(), '/mock/', None,
         None, None)
Exemplo n.º 37
0
 def destroy_fixtures(self):
     db_models.unregister_models(db_api.get_engine())
     db_models.register_models(db_api.get_engine())
Exemplo n.º 38
0
 def export_metadefs(self, path=None):
     """Export metadefinitions data from database to files"""
     metadata.db_export_metadefs(db_api.get_engine(),
                                 path)
Exemplo n.º 39
0
 def test_legacy_db_version(self, db_version):
     with mock.patch('sys.stdout', new_callable=StringIO):
         self._main_test_helper(['xmonitor.cmd.manage', 'db_version'],
                                migration.db_version,
                                db_api.get_engine(),
                                db_migration.MIGRATE_REPO_PATH, 0)
Exemplo n.º 40
0
 def version(self):
     """Print database's current migration level"""
     print(migration.db_version(db_api.get_engine(),
                                db_migration.MIGRATE_REPO_PATH,
                                db_migration.INIT_VERSION))
Exemplo n.º 41
0
 def test_legacy_db_upgrade(self, db_sync):
     self._main_test_helper(['xmonitor.cmd.manage', 'db_upgrade'],
                            migration.db_sync,
                            db_api.get_engine(),
                            db_migration.MIGRATE_REPO_PATH, None)
Exemplo n.º 42
0
 def test_db_metadefs_unload(self):
     db_metadata.db_unload_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db_unload_metadefs'],
                            db_metadata.db_unload_metadefs,
                            db_api.get_engine())
Exemplo n.º 43
0
 def test_legacy_db_version_control(self, db_version_control):
     self._main_test_helper(['xmonitor.cmd.manage', 'db_version_control'],
                            migration.db_version_control,
                            db_api.get_engine(),
                            db_migration.MIGRATE_REPO_PATH, None)
Exemplo n.º 44
0
 def test_db_metadefs_load_from_path_merge(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(
         ['xmonitor.cmd.manage', 'db_load_metadefs', '/mock/', 'True'],
         db_metadata.db_load_metadefs, db_api.get_engine(), '/mock/',
         'True', None, None)
Exemplo n.º 45
0
 def test_legacy_db_downgrade_version(self, db_sync):
     self._main_test_helper(['xmonitor.cmd.manage', 'db_downgrade', '20'],
                            migration.db_sync,
                            db_api.get_engine(),
                            db_migration.MIGRATE_REPO_PATH, '20')
Exemplo n.º 46
0
 def test_legacy_db_version_control(self, db_version_control):
     self._main_test_helper(['xmonitor.cmd.manage', 'db_version_control'],
                            migration.db_version_control,
                            db_api.get_engine(),
                            db_migration.MIGRATE_REPO_PATH, None)
Exemplo n.º 47
0
 def test_db_metadefs_export(self):
     db_metadata.db_export_metadefs = mock.Mock()
     self._main_test_helper(
         ['xmonitor.cmd.manage', 'db', 'export_metadefs'],
         db_metadata.db_export_metadefs, db_api.get_engine(), None)
Exemplo n.º 48
0
def export_metadefs():
    """Export metadefinitions from database to files"""
    return get_backend().db_export_metadefs(engine=db_api.get_engine(),
                                            metadata_path=None)
Exemplo n.º 49
0
 def version_control(self, version=None):
     """Place a database under migration control"""
     migration.db_version_control(db_api.get_engine(),
                                  db_migration.MIGRATE_REPO_PATH, version)
Exemplo n.º 50
0
 def test_db_metadefs_export(self):
     db_metadata.db_export_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db', 'export_metadefs'],
                            db_metadata.db_export_metadefs,
                            db_api.get_engine(),
                            None)
Exemplo n.º 51
0
 def test_legacy_db_version(self, db_version):
     with mock.patch('sys.stdout', new_callable=StringIO):
         self._main_test_helper(['xmonitor.cmd.manage', 'db_version'],
                                migration.db_version, db_api.get_engine(),
                                db_migration.MIGRATE_REPO_PATH, 0)
Exemplo n.º 52
0
 def destroy_fixtures(self):
     db_models.unregister_models(db_api.get_engine())
     db_models.register_models(db_api.get_engine())
Exemplo n.º 53
0
 def test_db_metadefs_load(self):
     db_metadata.db_load_metadefs = mock.Mock()
     self._main_test_helper(['xmonitor.cmd.manage', 'db', 'load_metadefs'],
                            db_metadata.db_load_metadefs,
                            db_api.get_engine(),
                            None, False, False, False)