~james-page/charms/trusty/cinder/tox

« back to all changes in this revision

Viewing changes to unit_tests/test_cinder_hooks.py

  • Committer: james.page at ubuntu
  • Date: 2015-09-10 15:56:10 UTC
  • mfrom: (97.2.24 cinder)
  • Revision ID: james.page@ubuntu.com-20150910155610-4r2g0u1mjn33sqtu
Rebase

Show diffs side-by-side

added added

removed removed

Lines of Context:
147
147
 
148
148
    @patch.object(hooks, 'configure_https')
149
149
    @patch.object(hooks, 'git_install_requested')
150
 
    def test_config_changed(self, git_requested, conf_https):
 
150
    @patch.object(hooks, 'config_value_changed')
 
151
    def test_config_changed(self, config_val_changed,
 
152
                            git_requested, conf_https):
151
153
        'It writes out all config'
152
154
        git_requested.return_value = False
153
155
        self.openstack_upgrade_available.return_value = False
156
158
        self.assertTrue(conf_https.called)
157
159
        self.configure_lvm_storage.assert_called_with(['sdb'],
158
160
                                                      'cinder-volumes',
159
 
                                                      False, False)
 
161
                                                      False, False, False)
160
162
 
161
163
    @patch.object(hooks, 'configure_https')
162
164
    @patch.object(hooks, 'git_install_requested')
163
 
    def test_config_changed_block_devices(self, git_requested, conf_https):
 
165
    @patch.object(hooks, 'config_value_changed')
 
166
    def test_config_changed_block_devices(self, config_val_changed,
 
167
                                          git_requested, conf_https):
164
168
        'It writes out all config'
165
169
        git_requested.return_value = False
166
170
        self.openstack_upgrade_available.return_value = False
174
178
        self.configure_lvm_storage.assert_called_with(
175
179
            ['sdb', '/dev/sdc', 'sde'],
176
180
            'cinder-new',
177
 
            True, True)
178
 
 
179
 
    @patch.object(hooks, 'configure_https')
180
 
    @patch.object(hooks, 'git_install_requested')
181
 
    def test_config_changed_upgrade_available(self, git_requested, conf_https):
 
181
            True, True, False)
 
182
 
 
183
    @patch.object(hooks, 'configure_https')
 
184
    @patch.object(hooks, 'git_install_requested')
 
185
    @patch.object(hooks, 'config_value_changed')
 
186
    def test_config_changed_uses_remove_missing_force(self,
 
187
                                                      config_val_changed,
 
188
                                                      git_requested,
 
189
                                                      conf_https):
 
190
        'It uses the remove-missing-force config option'
 
191
        git_requested.return_value = False
 
192
        self.openstack_upgrade_available.return_value = False
 
193
        self.test_config.set('block-device', 'sdb')
 
194
        self.test_config.set('remove-missing-force', True)
 
195
        hooks.hooks.execute(['hooks/config-changed'])
 
196
        self.configure_lvm_storage.assert_called_with(
 
197
            ['sdb'],
 
198
            'cinder-volumes',
 
199
            False, False, True)
 
200
 
 
201
    @patch.object(hooks, 'configure_https')
 
202
    @patch.object(hooks, 'git_install_requested')
 
203
    @patch.object(hooks, 'config_value_changed')
 
204
    def test_config_changed_upgrade_available(self, config_val_changed,
 
205
                                              git_requested, conf_https):
182
206
        'It writes out all config with an available OS upgrade'
183
207
        git_requested.return_value = False
184
208
        self.openstack_upgrade_available.return_value = True
211
235
        self.assertFalse(self.do_openstack_upgrade.called)
212
236
        self.assertTrue(conf_https.called)
213
237
 
 
238
    @patch('charmhelpers.core.host.service')
 
239
    @patch.object(hooks, 'configure_https')
 
240
    @patch.object(hooks, 'git_install_requested')
 
241
    @patch.object(hooks, 'config_value_changed')
 
242
    def test_config_changed_overwrite_changed(self, config_val_changed,
 
243
                                              git_requested, conf_https,
 
244
                                              _services):
 
245
        'It uses the overwrite config option'
 
246
        git_requested.return_value = False
 
247
        self.openstack_upgrade_available.return_value = False
 
248
        config_val_changed.return_value = True
 
249
        hooks.hooks.execute(['hooks/config-changed'])
 
250
        self.assertTrue(self.CONFIGS.write_all.called)
 
251
        self.assertTrue(conf_https.called)
 
252
        self.configure_lvm_storage.assert_called_with(['sdb'],
 
253
                                                      'cinder-volumes',
 
254
                                                      False, False, False)
 
255
        self.service_restart.assert_called_with('cinder-volume')
 
256
 
 
257
    @patch.object(hooks, 'git_install_requested')
 
258
    @patch.object(hooks, 'config_value_changed')
 
259
    def test_config_changed_with_openstack_upgrade_action(self,
 
260
                                                          config_value_changed,
 
261
                                                          git_requested):
 
262
        git_requested.return_value = False
 
263
        self.openstack_upgrade_available.return_value = True
 
264
        self.test_config.set('action-managed-upgrade', True)
 
265
 
 
266
        hooks.hooks.execute(['hooks/config-changed'])
 
267
 
 
268
        self.assertFalse(self.do_openstack_upgrade.called)
 
269
 
214
270
    def test_db_changed(self):
215
271
        'It writes out cinder.conf on db changed'
216
272
        self.relation_get.return_value = 'cinder/0 cinder/1'
310
366
        hooks.configure_https()
311
367
        calls = [call('a2dissite', 'openstack_https_frontend'),
312
368
                 call('service', 'apache2', 'reload')]
313
 
        self.check_call.assert_called_has_calls(calls)
 
369
        self.check_call.assert_has_calls(calls)
314
370
        identity_joined.assert_called_with(rid='identity-service:0')
315
371
 
316
372
    @patch.object(hooks, 'identity_joined')
321
377
        hooks.configure_https()
322
378
        calls = [call('a2dissite', 'openstack_https_frontend'),
323
379
                 call('service', 'apache2', 'reload')]
324
 
        self.check_call.assert_called_has_calls(calls)
 
380
        self.check_call.assert_has_calls(calls)
325
381
        identity_joined.assert_called_with(rid='identity-service:0')
326
382
 
327
383
    def test_image_service_changed(self):
367
423
        self.test_config.set('prefer-ipv6', True)
368
424
        self.test_config.set('vip', 'dummy_vip')
369
425
        hooks.hooks.execute(['hooks/shared-db-relation-joined'])
370
 
        self.sync_db_with_multi_ipv6_addresses.assert_called_with_once(
 
426
        self.sync_db_with_multi_ipv6_addresses.assert_called_with(
371
427
            'cinder', 'cinder')
372
428
 
373
429
    def test_db_joined_with_postgresql(self):