Fix oauth sqlite migration downgrade failure
The oauth migration downgrade was failing because it tried to drop a constraint which sqlite doesn't support. The code tried to not do the drop on sqlite but didn't check for the sqlite engine properly. Change-Id: Ie7900d352a26900f913bdefe1eb93d511283efc0 Closes-Bug: #1366606
This commit is contained in:
parent
bd6511d684
commit
6ae4d7713e
|
@ -50,5 +50,5 @@ def downgrade(migrate_engine):
|
|||
{'table': access_token_table,
|
||||
'fk_column': 'consumer_id',
|
||||
'ref_column': consumer_table.c.id}]
|
||||
if meta.bind != 'sqlite':
|
||||
if migrate_engine.name != 'sqlite':
|
||||
migration_helpers.remove_constraints(constraints)
|
||||
|
|
|
@ -62,11 +62,15 @@ class SqlUpgradeOAuth1Extension(test_sql_upgrade.SqlMigrateBase):
|
|||
def repo_package(self):
|
||||
return oauth1
|
||||
|
||||
def test_upgrade(self):
|
||||
self.assertTableDoesNotExist('consumer')
|
||||
self.assertTableDoesNotExist('request_token')
|
||||
self.assertTableDoesNotExist('access_token')
|
||||
self.upgrade(1, repository=self.repo_path)
|
||||
def upgrade(self, version):
|
||||
super(SqlUpgradeOAuth1Extension, self).upgrade(
|
||||
version, repository=self.repo_path)
|
||||
|
||||
def downgrade(self, version):
|
||||
super(SqlUpgradeOAuth1Extension, self).downgrade(
|
||||
version, repository=self.repo_path)
|
||||
|
||||
def _assert_v1_3_tables(self):
|
||||
self.assertTableColumns('consumer',
|
||||
['id',
|
||||
'description',
|
||||
|
@ -90,8 +94,7 @@ class SqlUpgradeOAuth1Extension(test_sql_upgrade.SqlMigrateBase):
|
|||
'consumer_id',
|
||||
'expires_at'])
|
||||
|
||||
def test_downgrade(self):
|
||||
self.upgrade(1, repository=self.repo_path)
|
||||
def _assert_v4_later_tables(self):
|
||||
self.assertTableColumns('consumer',
|
||||
['id',
|
||||
'description',
|
||||
|
@ -103,7 +106,7 @@ class SqlUpgradeOAuth1Extension(test_sql_upgrade.SqlMigrateBase):
|
|||
'verifier',
|
||||
'authorizing_user_id',
|
||||
'requested_project_id',
|
||||
'requested_roles',
|
||||
'role_ids',
|
||||
'consumer_id',
|
||||
'expires_at'])
|
||||
self.assertTableColumns('access_token',
|
||||
|
@ -111,10 +114,34 @@ class SqlUpgradeOAuth1Extension(test_sql_upgrade.SqlMigrateBase):
|
|||
'access_secret',
|
||||
'authorizing_user_id',
|
||||
'project_id',
|
||||
'requested_roles',
|
||||
'role_ids',
|
||||
'consumer_id',
|
||||
'expires_at'])
|
||||
self.downgrade(0, repository=self.repo_path)
|
||||
|
||||
def test_upgrade(self):
|
||||
self.assertTableDoesNotExist('consumer')
|
||||
self.assertTableDoesNotExist('request_token')
|
||||
self.assertTableDoesNotExist('access_token')
|
||||
self.upgrade(1)
|
||||
self._assert_v1_3_tables()
|
||||
|
||||
# NOTE(blk-u): Migrations 2-3 don't modify the tables in a way that we
|
||||
# can easily test for.
|
||||
|
||||
self.upgrade(4)
|
||||
self._assert_v4_later_tables()
|
||||
|
||||
self.upgrade(5)
|
||||
self._assert_v4_later_tables()
|
||||
|
||||
def test_downgrade(self):
|
||||
self.upgrade(5)
|
||||
self._assert_v4_later_tables()
|
||||
self.downgrade(3)
|
||||
self._assert_v1_3_tables()
|
||||
self.downgrade(1)
|
||||
self._assert_v1_3_tables()
|
||||
self.downgrade(0)
|
||||
self.assertTableDoesNotExist('consumer')
|
||||
self.assertTableDoesNotExist('request_token')
|
||||
self.assertTableDoesNotExist('access_token')
|
||||
|
|
Loading…
Reference in New Issue