Example #1
0
    def test_upgrade_dryrun(self, needupdate):
        args = self.Args({'dry_run': True})
        db = self.PartialMockDb(args, None)
        self.mox.StubOutWithMock(db, 'get_current_db_version')
        self.mox.StubOutWithMock(db, 'sql_version_matrix')
        self.mox.StubOutWithMock(db, 'sql_version_resolve')
        # Stub out to ensure it's NOT called
        self.mox.StubOutWithMock(db, 'psql')

        versions = ['OMERO4.4__0', 'OMERO5.0__0']
        if needupdate:
            db.get_current_db_version().AndReturn(('OMERO4.4', '0'))
            db.sql_version_matrix().AndReturn(([], versions))
            db.sql_version_resolve([], versions, versions[0]).AndReturn(
                ['./sql/psql/OMERO5.0__0/OMERO4.4__0.sql'])
        else:
            db.get_current_db_version().AndReturn(('OMERO5.0', '0'))
            db.sql_version_matrix().AndReturn(([], versions))

        self.mox.ReplayAll()

        if needupdate:
            with pytest.raises(Stop) as excinfo:
                db.upgrade()
            assert excinfo.value.rc == 2
            assert excinfo.value.message == (
                'Database upgrade required OMERO4.4__0->OMERO5.0__0')
        else:
            db.upgrade()
        self.mox.VerifyAll()
Example #2
0
    def test_upgrade(self, needupdate):
        args = self.Args({'dry_run': False})
        db = self.PartialMockDb(args, None)
        self.mox.StubOutWithMock(db, 'get_current_db_version')
        self.mox.StubOutWithMock(db, 'sql_version_matrix')
        self.mox.StubOutWithMock(db, 'sql_version_resolve')
        self.mox.StubOutWithMock(db, 'psql')

        versions = ['OMERO3.0__0', 'OMERO4.4__0', 'OMERO5.0__0']
        if needupdate:
            db.get_current_db_version().AndReturn(('OMERO3.0', '0'))
            db.sql_version_matrix().AndReturn(([], versions))
            db.sql_version_resolve([], versions, versions[0]).AndReturn([
                './sql/psql/OMERO4.4__0/OMERO3.0__0.sql',
                './sql/psql/OMERO5.0__0/OMERO4.4__0.sql'
            ])
            db.psql('-f', './sql/psql/OMERO4.4__0/OMERO3.0__0.sql')
            db.psql('-f', './sql/psql/OMERO5.0__0/OMERO4.4__0.sql')
        else:
            db.get_current_db_version().AndReturn(('OMERO5.0', '0'))
            db.sql_version_matrix().AndReturn(([], versions))

        self.mox.ReplayAll()

        db.upgrade()
        self.mox.VerifyAll()
Example #3
0
File: test_db.py Project: ome/omego
    def test_upgrade_dryrun(self, needupdate):
        args = self.Args({'dry_run': True})
        db = self.PartialMockDb(args, None)
        self.mox.StubOutWithMock(db, 'get_current_db_version')
        self.mox.StubOutWithMock(db, 'sql_version_matrix')
        self.mox.StubOutWithMock(db, 'sql_version_resolve')
        # Stub out to ensure it's NOT called
        self.mox.StubOutWithMock(db, 'psql')

        versions = ['OMERO4.4__0', 'OMERO5.0__0']
        if needupdate:
            db.get_current_db_version().AndReturn(('OMERO4.4', '0'))
            db.sql_version_matrix().AndReturn(([], versions))
            db.sql_version_resolve([], versions, versions[0]).AndReturn(
                ['./sql/psql/OMERO5.0__0/OMERO4.4__0.sql'])
        else:
            db.get_current_db_version().AndReturn(('OMERO5.0', '0'))
            db.sql_version_matrix().AndReturn(([], versions))

        self.mox.ReplayAll()

        if needupdate:
            with pytest.raises(Stop) as excinfo:
                db.upgrade()
            assert excinfo.value.rc == 2
            assert excinfo.value.message == (
                'Database upgrade required OMERO4.4__0->OMERO5.0__0')
        else:
            db.upgrade()
        self.mox.VerifyAll()
Example #4
0
File: test_db.py Project: ome/omego
    def test_upgrade(self, needupdate):
        args = self.Args({'dry_run': False})
        db = self.PartialMockDb(args, None)
        self.mox.StubOutWithMock(db, 'get_current_db_version')
        self.mox.StubOutWithMock(db, 'sql_version_matrix')
        self.mox.StubOutWithMock(db, 'sql_version_resolve')
        self.mox.StubOutWithMock(db, 'psql')

        versions = ['OMERO3.0__0', 'OMERO4.4__0', 'OMERO5.0__0']
        if needupdate:
            db.get_current_db_version().AndReturn(('OMERO3.0', '0'))
            db.sql_version_matrix().AndReturn(([], versions))
            db.sql_version_resolve([], versions, versions[0]).AndReturn(
                ['./sql/psql/OMERO4.4__0/OMERO3.0__0.sql',
                 './sql/psql/OMERO5.0__0/OMERO4.4__0.sql'])
            db.psql('-f', './sql/psql/OMERO4.4__0/OMERO3.0__0.sql')
            db.psql('-f', './sql/psql/OMERO5.0__0/OMERO4.4__0.sql')
        else:
            db.get_current_db_version().AndReturn(('OMERO5.0', '0'))
            db.sql_version_matrix().AndReturn(([], versions))

        self.mox.ReplayAll()

        db.upgrade()
        self.mox.VerifyAll()
Example #5
0
    def test_sql_version_resolve(self, vfrom):
        db = self.PartialMockDb(None, None)

        versions = ['3.0', '4.0', '4.4', '5.0', '5.1']
        M = [[None, '4.0/3.0', '4.4/3.0', None, None],
             [None, None, '4.4/4.0', '5.0/4.0', None],
             [None, None, None, '5.0/4.4', None],
             [None, None, None, None, '5.1/5.0'],
             [None, None, None, None, None]]

        assert db.sql_version_resolve(M, versions, '5.0') == ['5.1/5.0']
        assert db.sql_version_resolve(M, versions,
                                      '4.0') == ['5.0/4.0', '5.1/5.0']
        assert db.sql_version_resolve(
            M, versions, '3.0') == ['4.4/3.0', '5.0/4.4', '5.1/5.0']

        self.mox.VerifyAll()
Example #6
0
File: test_db.py Project: ome/omego
    def test_sql_version_resolve(self, vfrom):
        db = self.PartialMockDb(None, None)

        versions = ['3.0', '4.0', '4.4', '5.0', '5.1']
        M = [[None, '4.0/3.0', '4.4/3.0', None, None],
             [None, None, '4.4/4.0', '5.0/4.0', None],
             [None, None, None, '5.0/4.4', None],
             [None, None, None, None, '5.1/5.0'],
             [None, None, None, None, None]]

        assert db.sql_version_resolve(M, versions, '5.0') == ['5.1/5.0']
        assert db.sql_version_resolve(M, versions, '4.0') == [
            '5.0/4.0', '5.1/5.0']
        assert db.sql_version_resolve(M, versions, '3.0') == [
            '4.4/3.0', '5.0/4.4', '5.1/5.0']

        self.mox.VerifyAll()