def test_check_db(self): with self.migration_engine.connect() as connection: connection.execute(pkg_resources.resource_string('bkr.inttest.server', 'database-dumps/21.sql')) self.assertTrue(check_db(self.migration_metadata, '171c07fb4970')) self.assertFalse(check_db(self.migration_metadata, 'head')) upgrade_db(self.migration_metadata) self.assertTrue(check_db(self.migration_metadata, 'head'))
def test_can_pass_beaker_version_to_downgrade(self): # We should be able to give it arbitrary Beaker versions and have it # figure out the matching schema version we want. # The downgrade process itself will do nothing in this case because we # are already on the right version. with self.migration_engine.connect() as connection: connection.execute(pkg_resources.resource_string('bkr.inttest.server', 'database-dumps/21.sql')) downgrade_db(self.migration_metadata, '21') self.assertTrue(check_db(self.migration_metadata, '171c07fb4970')) # Should also accept minor versions downgrade_db(self.migration_metadata, '21.1') self.assertTrue(check_db(self.migration_metadata, '171c07fb4970')) # Should also accept RPM version-releases, this makes our playbooks simpler downgrade_db(self.migration_metadata, '21.1-1.el6eng') self.assertTrue(check_db(self.migration_metadata, '171c07fb4970'))