Update unit test

This commit is contained in:
Liam Young 2015-08-27 15:43:08 +01:00
parent 6178c824b8
commit 292ea3f9a3
2 changed files with 21 additions and 7 deletions

View File

@ -17,12 +17,9 @@ from charmhelpers.core.hookenv import (
UnregisteredHookError,
config,
service_name,
relation_get,
relation_set,
relation_ids,
log,
INFO,
ERROR,
)
from charmhelpers.fetch import apt_install, apt_update
from charmhelpers.core.host import (
@ -34,7 +31,6 @@ from charmhelpers.contrib.storage.linux.ceph import (
request_complete,
ensure_ceph_keyring,
CephBrokerRq,
CephBrokerRsp,
delete_keyring,
)
from charmhelpers.payload.execd import execd_preinstall
@ -56,6 +52,7 @@ def ceph_joined():
if not os.path.isdir('/etc/ceph'):
os.mkdir('/etc/ceph')
def get_ceph_request():
service = service_name()
rq = CephBrokerRq()
@ -63,6 +60,7 @@ def get_ceph_request():
rq.add_op_create_pool(name=service, replica_count=replicas)
return rq
@hooks.hook('ceph-relation-changed')
@restart_on_change(restart_map())
def ceph_changed():

View File

@ -18,11 +18,12 @@ TO_PATCH = [
'register_configs',
'restart_map',
'set_ceph_env_variables',
'request_complete',
'send_request_if_needed',
'CONFIGS',
# charmhelpers.core.hookenv
'config',
'relation_ids',
'relation_get',
'relation_set',
'service_name',
'service_restart',
@ -69,9 +70,8 @@ class TestCinderHooks(CharmTestCase):
@patch('charmhelpers.core.hookenv.config')
def test_ceph_changed(self, mock_config):
'''It ensures ceph assets created on ceph changed'''
self.request_complete.return_value = True
self.CONFIGS.complete_contexts.return_value = ['ceph']
rsp = json.dumps({'exit_code': 0})
self.relation_get.return_value = {'broker_rsp': rsp}
self.service_name.return_value = 'cinder'
self.ensure_ceph_keyring.return_value = True
hooks.hooks.execute(['hooks/ceph-relation-changed'])
@ -81,11 +81,27 @@ class TestCinderHooks(CharmTestCase):
self.assertTrue(self.CONFIGS.write_all.called)
self.set_ceph_env_variables.assert_called_with(service='cinder')
@patch.object(hooks, 'get_ceph_request')
@patch('charmhelpers.core.hookenv.config')
def test_ceph_changed_newrq(self, mock_config, mock_get_ceph_request):
'''It ensures ceph assets created on ceph changed'''
mock_get_ceph_request.return_value = 'cephreq'
self.request_complete.return_value = False
self.CONFIGS.complete_contexts.return_value = ['ceph']
self.service_name.return_value = 'cinder'
self.ensure_ceph_keyring.return_value = True
hooks.hooks.execute(['hooks/ceph-relation-changed'])
self.ensure_ceph_keyring.assert_called_with(service='cinder',
user='cinder',
group='cinder')
self.send_request_if_needed.assert_called_with('cephreq')
@patch('charmhelpers.core.hookenv.config')
def test_ceph_changed_no_keys(self, mock_config):
'''It ensures ceph assets created on ceph changed'''
self.CONFIGS.complete_contexts.return_value = ['ceph']
self.service_name.return_value = 'cinder'
self.request_complete.return_value = True
self.ensure_ceph_keyring.return_value = False
hooks.hooks.execute(['hooks/ceph-relation-changed'])
# NOTE(jamespage): If ensure_ceph keyring fails, then