31 | 31 |
def clear_conf():
|
32 | 32 |
manage.CONF.reset()
|
33 | 33 |
manage.CONF.unregister_opt(manage.command_opt)
|
|
34 |
manage.CONF.db_enforce_mysql_charset = True
|
34 | 35 |
self.addCleanup(clear_conf)
|
35 | 36 |
|
36 | 37 |
self.patcher = mock.patch('glance.db.sqlalchemy.api.get_engine')
|
37 | 38 |
self.patcher.start()
|
38 | 39 |
self.addCleanup(self.patcher.stop)
|
39 | 40 |
|
40 | |
def _main_test_helper(self, argv, func_name=None, *exp_args):
|
|
41 |
def _main_test_helper(self, argv, func_name=None, *exp_args, **exp_kwargs):
|
41 | 42 |
self.useFixture(fixtures.MonkeyPatch('sys.argv', argv))
|
42 | 43 |
manage.main()
|
43 | |
func_name.assert_called_once_with(*exp_args)
|
|
44 |
func_name.assert_called_once_with(*exp_args, **exp_kwargs)
|
44 | 45 |
|
45 | 46 |
|
46 | 47 |
class TestLegacyManage(TestManageBase):
|
|
59 | 60 |
glance.openstack.common.db.sqlalchemy.
|
60 | 61 |
migration.db_sync,
|
61 | 62 |
db_api.get_engine(),
|
62 | |
db_migration.MIGRATE_REPO_PATH, None)
|
|
63 |
db_migration.MIGRATE_REPO_PATH, None,
|
|
64 |
sanity_check=True)
|
63 | 65 |
|
64 | 66 |
def test_legacy_db_upgrade(self):
|
65 | 67 |
migration.db_sync = mock.Mock()
|
66 | 68 |
self._main_test_helper(['glance.cmd.manage', 'db_upgrade'],
|
67 | 69 |
migration.db_sync,
|
68 | 70 |
db_api.get_engine(),
|
69 | |
db_migration.MIGRATE_REPO_PATH, None)
|
|
71 |
db_migration.MIGRATE_REPO_PATH, None,
|
|
72 |
sanity_check=True)
|
70 | 73 |
|
71 | 74 |
def test_legacy_db_version_control(self):
|
72 | 75 |
migration.db_version_control = mock.Mock()
|
|
80 | 83 |
self._main_test_helper(['glance.cmd.manage', 'db_sync', '20'],
|
81 | 84 |
migration.db_sync,
|
82 | 85 |
db_api.get_engine(),
|
83 | |
db_migration.MIGRATE_REPO_PATH, '20')
|
|
86 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
87 |
sanity_check=True)
|
84 | 88 |
|
85 | 89 |
def test_legacy_db_upgrade_version(self):
|
86 | 90 |
migration.db_sync = mock.Mock()
|
87 | 91 |
self._main_test_helper(['glance.cmd.manage', 'db_upgrade', '20'],
|
88 | 92 |
migration.db_sync,
|
89 | 93 |
db_api.get_engine(),
|
90 | |
db_migration.MIGRATE_REPO_PATH, '20')
|
|
94 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
95 |
sanity_check=True)
|
91 | 96 |
|
92 | 97 |
def test_legacy_db_downgrade_version(self):
|
93 | 98 |
migration.db_sync = mock.Mock()
|
94 | 99 |
self._main_test_helper(['glance.cmd.manage', 'db_downgrade', '20'],
|
95 | 100 |
migration.db_sync,
|
96 | 101 |
db_api.get_engine(),
|
97 | |
db_migration.MIGRATE_REPO_PATH, '20')
|
|
102 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
103 |
sanity_check=True)
|
|
104 |
|
|
105 |
def test_legacy_db_sync_version_without_sanity_check(self):
|
|
106 |
migration.db_sync = mock.Mock()
|
|
107 |
manage.CONF.db_enforce_mysql_charset = False
|
|
108 |
self._main_test_helper(['glance.cmd.manage', 'db_sync', '20'],
|
|
109 |
migration.db_sync,
|
|
110 |
db_api.get_engine(),
|
|
111 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
112 |
sanity_check=False)
|
|
113 |
|
|
114 |
def test_legacy_db_upgrade_version_without_sanity_check(self):
|
|
115 |
migration.db_sync = mock.Mock()
|
|
116 |
manage.CONF.db_enforce_mysql_charset = False
|
|
117 |
self._main_test_helper(['glance.cmd.manage', 'db_upgrade', '40'],
|
|
118 |
migration.db_sync,
|
|
119 |
db_api.get_engine(),
|
|
120 |
db_migration.MIGRATE_REPO_PATH, '40',
|
|
121 |
sanity_check=False)
|
|
122 |
|
|
123 |
def test_legacy_db_downgrade_version_without_sanity_check(self):
|
|
124 |
migration.db_sync = mock.Mock()
|
|
125 |
manage.CONF.db_enforce_mysql_charset = False
|
|
126 |
self._main_test_helper(['glance.cmd.manage', 'db_downgrade', '20'],
|
|
127 |
migration.db_sync,
|
|
128 |
db_api.get_engine(),
|
|
129 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
130 |
sanity_check=False)
|
98 | 131 |
|
99 | 132 |
|
100 | 133 |
class TestManage(TestManageBase):
|
|
111 | 144 |
self._main_test_helper(['glance.cmd.manage', 'db', 'sync'],
|
112 | 145 |
migration.db_sync,
|
113 | 146 |
db_api.get_engine(),
|
114 | |
db_migration.MIGRATE_REPO_PATH, None)
|
|
147 |
db_migration.MIGRATE_REPO_PATH, None,
|
|
148 |
sanity_check=True)
|
115 | 149 |
|
116 | 150 |
def test_db_upgrade(self):
|
117 | 151 |
migration.db_sync = mock.Mock()
|
118 | 152 |
self._main_test_helper(['glance.cmd.manage', 'db', 'upgrade'],
|
119 | 153 |
migration.db_sync,
|
120 | 154 |
db_api.get_engine(),
|
121 | |
db_migration.MIGRATE_REPO_PATH, None)
|
|
155 |
db_migration.MIGRATE_REPO_PATH, None,
|
|
156 |
sanity_check=True)
|
122 | 157 |
|
123 | 158 |
def test_db_version_control(self):
|
124 | 159 |
migration.db_version_control = mock.Mock()
|
|
132 | 167 |
self._main_test_helper(['glance.cmd.manage', 'db', 'sync', '20'],
|
133 | 168 |
migration.db_sync,
|
134 | 169 |
db_api.get_engine(),
|
135 | |
db_migration.MIGRATE_REPO_PATH, u'20')
|
|
170 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
171 |
sanity_check=True)
|
136 | 172 |
|
137 | 173 |
def test_db_upgrade_version(self):
|
138 | 174 |
migration.db_sync = mock.Mock()
|
139 | 175 |
self._main_test_helper(['glance.cmd.manage', 'db', 'upgrade', '20'],
|
140 | 176 |
migration.db_sync,
|
141 | 177 |
db_api.get_engine(),
|
142 | |
db_migration.MIGRATE_REPO_PATH, '20')
|
|
178 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
179 |
sanity_check=True)
|
143 | 180 |
|
144 | 181 |
def test_db_downgrade_version(self):
|
145 | 182 |
migration.db_sync = mock.Mock()
|
146 | 183 |
self._main_test_helper(['glance.cmd.manage', 'db', 'downgrade', '20'],
|
147 | 184 |
migration.db_sync,
|
148 | 185 |
db_api.get_engine(),
|
149 | |
db_migration.MIGRATE_REPO_PATH, '20')
|
|
186 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
187 |
sanity_check=True)
|
|
188 |
|
|
189 |
def test_db_sync_version_without_sanity_check(self):
|
|
190 |
migration.db_sync = mock.Mock()
|
|
191 |
manage.CONF.db_enforce_mysql_charset = False
|
|
192 |
self._main_test_helper(['glance.cmd.manage', 'db', 'sync', '20'],
|
|
193 |
migration.db_sync,
|
|
194 |
db_api.get_engine(),
|
|
195 |
db_migration.MIGRATE_REPO_PATH, u'20',
|
|
196 |
sanity_check=False)
|
|
197 |
|
|
198 |
def test_db_upgrade_version_without_sanity_check(self):
|
|
199 |
migration.db_sync = mock.Mock()
|
|
200 |
manage.CONF.db_enforce_mysql_charset = False
|
|
201 |
self._main_test_helper(['glance.cmd.manage', 'db', 'upgrade', '40'],
|
|
202 |
migration.db_sync,
|
|
203 |
db_api.get_engine(),
|
|
204 |
db_migration.MIGRATE_REPO_PATH, '40',
|
|
205 |
sanity_check=False)
|
|
206 |
|
|
207 |
def test_db_downgrade_version_without_sanity_check(self):
|
|
208 |
migration.db_sync = mock.Mock()
|
|
209 |
manage.CONF.db_enforce_mysql_charset = False
|
|
210 |
self._main_test_helper(['glance.cmd.manage', 'db', 'downgrade', '20'],
|
|
211 |
migration.db_sync,
|
|
212 |
db_api.get_engine(),
|
|
213 |
db_migration.MIGRATE_REPO_PATH, '20',
|
|
214 |
sanity_check=False)
|