Add final unit tests
Had missed off unit tests for the mkek and hmac generation code in the class.
This commit is contained in:
parent
e019366bf3
commit
c7367af5ec
|
@ -124,8 +124,17 @@ class TestBarbicanAdapters(Helper):
|
||||||
def test_barbican_adapters(self, config):
|
def test_barbican_adapters(self, config):
|
||||||
reply = {
|
reply = {
|
||||||
'keystone-api-version': '2',
|
'keystone-api-version': '2',
|
||||||
|
# for the charms.openstack code, which breaks if we don't have:
|
||||||
|
'os-public-hostname': 'host',
|
||||||
|
'os-internal-hostname': 'internal',
|
||||||
|
'os-admin-hostname': 'admin',
|
||||||
}
|
}
|
||||||
config.side_effect = lambda: reply
|
def cf(key=None):
|
||||||
|
if key is not None:
|
||||||
|
return reply[key]
|
||||||
|
return reply
|
||||||
|
|
||||||
|
config.side_effect = cf
|
||||||
amqp_relation = mock.MagicMock()
|
amqp_relation = mock.MagicMock()
|
||||||
amqp_relation.relation_name = 'amqp'
|
amqp_relation.relation_name = 'amqp'
|
||||||
shared_db_relation = mock.MagicMock()
|
shared_db_relation = mock.MagicMock()
|
||||||
|
@ -148,5 +157,92 @@ class TestBarbicanAdapters(Helper):
|
||||||
|
|
||||||
class TestBarbicanCharm(Helper):
|
class TestBarbicanCharm(Helper):
|
||||||
|
|
||||||
# tests to be added
|
def test_action_generate_mkek(self):
|
||||||
pass
|
hsm = mock.MagicMock()
|
||||||
|
hsm.plugin_data = {
|
||||||
|
'library_path': 'path1',
|
||||||
|
'login': '1234',
|
||||||
|
'slot_id': 'slot1'
|
||||||
|
}
|
||||||
|
self.patch(barbican.hookenv, 'config')
|
||||||
|
config = {
|
||||||
|
'mkek-key-length': 5,
|
||||||
|
'label-mkek': 'the-label'
|
||||||
|
}
|
||||||
|
def cf(key=None):
|
||||||
|
if key is not None:
|
||||||
|
return config[key]
|
||||||
|
return config
|
||||||
|
|
||||||
|
self.config.side_effect = cf
|
||||||
|
self.patch(barbican.subprocess, 'check_call')
|
||||||
|
self.patch(barbican.hookenv, 'log')
|
||||||
|
# try generating a an mkek with no failure
|
||||||
|
c = barbican.BarbicanCharm()
|
||||||
|
c.action_generate_mkek(hsm)
|
||||||
|
cmd = [
|
||||||
|
'barbican-manage', 'hsm', 'gen_mkek',
|
||||||
|
'--library-path', 'path1',
|
||||||
|
'--passphrase', '1234',
|
||||||
|
'--slot-id', 'slot1',
|
||||||
|
'--length', '5',
|
||||||
|
'--label', 'the-label',
|
||||||
|
]
|
||||||
|
self.check_call.assert_called_once_with(cmd)
|
||||||
|
self.log.assert_called_once_with(
|
||||||
|
"barbican-mangage hsm gen_mkek succeeded")
|
||||||
|
# and check that a problem is logged if it goes wrong
|
||||||
|
def side_effect():
|
||||||
|
raise barbican.subprocess.CalledProcessError
|
||||||
|
|
||||||
|
self.check_call.side_effect = side_effect
|
||||||
|
self.log.reset_mock()
|
||||||
|
with self.assertRaises(Exception):
|
||||||
|
c.action_generate_mkek(hsm)
|
||||||
|
self.log.assert_called_once_with(
|
||||||
|
"barbican-manage hsm gen_mkek failed.")
|
||||||
|
|
||||||
|
def test_action_generate_hmac(self):
|
||||||
|
hsm = mock.MagicMock()
|
||||||
|
hsm.plugin_data = {
|
||||||
|
'library_path': 'path1',
|
||||||
|
'login': '1234',
|
||||||
|
'slot_id': 'slot1'
|
||||||
|
}
|
||||||
|
self.patch(barbican.hookenv, 'config')
|
||||||
|
config = {
|
||||||
|
'hmac-key-length': 5,
|
||||||
|
'label-hmac': 'the-label'
|
||||||
|
}
|
||||||
|
def cf(key=None):
|
||||||
|
if key is not None:
|
||||||
|
return config[key]
|
||||||
|
return config
|
||||||
|
|
||||||
|
self.config.side_effect = cf
|
||||||
|
self.patch(barbican.subprocess, 'check_call')
|
||||||
|
self.patch(barbican.hookenv, 'log')
|
||||||
|
# try generating a an hmac with no failure
|
||||||
|
c = barbican.BarbicanCharm()
|
||||||
|
c.action_generate_hmac(hsm)
|
||||||
|
cmd = [
|
||||||
|
'barbican-manage', 'hsm', 'gen_hmac',
|
||||||
|
'--library-path', 'path1',
|
||||||
|
'--passphrase', '1234',
|
||||||
|
'--slot-id', 'slot1',
|
||||||
|
'--length', '5',
|
||||||
|
'--label', 'the-label',
|
||||||
|
]
|
||||||
|
self.check_call.assert_called_once_with(cmd)
|
||||||
|
self.log.assert_called_once_with(
|
||||||
|
"barbican-mangage hsm gen_hmac succeeded")
|
||||||
|
# and check that a problem is logged if it goes wrong
|
||||||
|
def side_effect():
|
||||||
|
raise barbican.subprocess.CalledProcessError
|
||||||
|
|
||||||
|
self.check_call.side_effect = side_effect
|
||||||
|
self.log.reset_mock()
|
||||||
|
with self.assertRaises(Exception):
|
||||||
|
c.action_generate_hmac(hsm)
|
||||||
|
self.log.assert_called_once_with(
|
||||||
|
"barbican-manage hsm gen_hmac failed.")
|
||||||
|
|
Loading…
Reference in New Issue