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()
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()
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()
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()
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()