コード例 #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")
コード例 #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")
コード例 #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)
コード例 #4
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #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)
コード例 #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)
コード例 #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')
コード例 #9
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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')
コード例 #10
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #11
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #12
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #13
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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/')
コード例 #14
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #15
0
ファイル: metadata.py プロジェクト: froyobin/xmonitor
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)
コード例 #16
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #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)
コード例 #19
0
ファイル: __init__.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #21
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #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")
コード例 #24
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 def unload_metadefs(self):
     """Unload metadefinitions from database"""
     metadata.db_unload_metadefs(db_api.get_engine())
コード例 #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)
コード例 #26
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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')
コード例 #28
0
ファイル: metadata.py プロジェクト: froyobin/xmonitor
def unload_metadefs():
    """Unload metadefinitions from database"""
    return get_backend().db_unload_metadefs(engine=db_api.get_engine())
コード例 #29
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 def upgrade(self, version=None):
     """Upgrade the database's migration level"""
     migration.db_sync(db_api.get_engine(),
                       db_migration.MIGRATE_REPO_PATH,
                       version)
コード例 #30
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #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/')
コード例 #33
0
 def export_metadefs(self, path=None):
     """Export metadefinitions data from database to files"""
     metadata.db_export_metadefs(db_api.get_engine(), path)
コード例 #34
0
 def unload_metadefs(self):
     """Unload metadefinitions from database"""
     metadata.db_unload_metadefs(db_api.get_engine())
コード例 #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))
コード例 #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)
コード例 #37
0
ファイル: utils.py プロジェクト: froyobin/xmonitor
 def destroy_fixtures(self):
     db_models.unregister_models(db_api.get_engine())
     db_models.register_models(db_api.get_engine())
コード例 #38
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 def export_metadefs(self, path=None):
     """Export metadefinitions data from database to files"""
     metadata.db_export_metadefs(db_api.get_engine(),
                                 path)
コード例 #39
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #40
0
ファイル: manage.py プロジェクト: froyobin/xmonitor
 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))
コード例 #41
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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())
コード例 #43
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #45
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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')
コード例 #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)
コード例 #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)
コード例 #48
0
ファイル: metadata.py プロジェクト: froyobin/xmonitor
def export_metadefs():
    """Export metadefinitions from database to files"""
    return get_backend().db_export_metadefs(engine=db_api.get_engine(),
                                            metadata_path=None)
コード例 #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)
コード例 #50
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)
コード例 #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)
コード例 #52
0
ファイル: utils.py プロジェクト: froyobin/xmonitor
 def destroy_fixtures(self):
     db_models.unregister_models(db_api.get_engine())
     db_models.register_models(db_api.get_engine())
コード例 #53
0
ファイル: test_manage.py プロジェクト: froyobin/xmonitor
 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)