diff --git a/nova/tests/test_migrations.py b/nova/tests/test_migrations.py index 05412863..23aef056 100644 --- a/nova/tests/test_migrations.py +++ b/nova/tests/test_migrations.py @@ -374,7 +374,7 @@ class BaseMigrationTestCase(test.TestCase): # upgrade -> downgrade -> upgrade self._migrate_up(engine, version, with_data=True) if snake_walk: - self._migrate_down(engine, version - 1) + self._migrate_down(engine, version - 1, with_data=True) self._migrate_up(engine, version) if downgrade: @@ -389,7 +389,7 @@ class BaseMigrationTestCase(test.TestCase): self._migrate_up(engine, version) self._migrate_down(engine, version - 1) - def _migrate_down(self, engine, version): + def _migrate_down(self, engine, version, with_data=False): self.migration_api.downgrade(engine, self.REPOSITORY, version) @@ -400,10 +400,11 @@ class BaseMigrationTestCase(test.TestCase): # NOTE(sirp): `version` is what we're downgrading to (i.e. the 'target' # version). So if we have any downgrade checks, they need to be run for # the previous (higher numbered) migration. - post_downgrade = getattr( - self, "_post_downgrade_%03d" % (version + 1), None) - if post_downgrade: - post_downgrade(engine) + if with_data: + post_downgrade = getattr( + self, "_post_downgrade_%03d" % (version + 1), None) + if post_downgrade: + post_downgrade(engine) def _migrate_up(self, engine, version, with_data=False): """migrate up to a new version of the db. @@ -422,14 +423,10 @@ class BaseMigrationTestCase(test.TestCase): if pre_upgrade: data = pre_upgrade(engine) - self.migration_api.upgrade(engine, - self.REPOSITORY, - version) - self.assertEqual( - version, - self.migration_api.db_version(engine, - self.REPOSITORY)) - + self.migration_api.upgrade(engine, self.REPOSITORY, version) + self.assertEqual(version, + self.migration_api.db_version(engine, + self.REPOSITORY)) if with_data: check = getattr(self, "_check_%03d" % version, None) if check: