charm-keystone/unit_tests/test_keystone_utils.py

75 lines
2.5 KiB
Python
Raw Normal View History

2014-04-02 12:45:02 +02:00
from mock import patch, call, MagicMock
from test_utils import CharmTestCase
from copy import deepcopy
from collections import OrderedDict
import os
os.environ['JUJU_UNIT_NAME'] = 'keystone'
with patch('charmhelpers.core.hookenv.config') as config:
import keystone_utils as utils
import keystone_context
from charmhelpers.contrib.openstack import context
TO_PATCH = [
'config',
'os_release',
'log',
]
class TestKeystoneUtils(CharmTestCase):
def setUp(self):
super(TestKeystoneUtils, self).setUp(utils, TO_PATCH)
self.config.side_effect = self.test_config.get
self.ctxt = MagicMock()
self.rsc_map = {
'/etc/keystone/keystone.conf': {
'services': ['keystone'],
'contexts': [self.ctxt],
},
'/etc/apache2/sites-available/openstack_https_frontend': {
'services': ['apache2'],
'contexts': [self.ctxt],
},
'/etc/apache2/sites-available/openstack_https_frontend.conf': {
'services': ['apache2'],
'contexts': [self.ctxt],
}
}
@patch('charmhelpers.contrib.openstack.templating.OSConfigRenderer')
@patch('os.path.exists')
@patch.object(utils, 'resource_map')
def test_register_configs_apache(self, resource_map, exists, renderer):
exists.return_value = False
self.os_release.return_value = 'havana'
fake_renderer = MagicMock()
fake_renderer.register = MagicMock()
renderer.return_value = fake_renderer
resource_map.return_value = self.rsc_map
utils.register_configs()
renderer.assert_called_with(
openstack_release='havana', templates_dir='templates/')
ex_reg = [
call('/etc/keystone/keystone.conf', [self.ctxt]),
call('/etc/apache2/sites-available/openstack_https_frontend', [self.ctxt]),
call('/etc/apache2/sites-available/openstack_https_frontend.conf', [self.ctxt]),
]
self.assertEquals(fake_renderer.register.call_args_list, ex_reg)
def test_determine_ports(self):
self.test_config.set('admin-port','80')
self.test_config.set('service-port','81')
result = utils.determine_ports()
self.assertEquals(result, ['80', '81'])
def test_determine_packages(self):
result = utils.determine_packages()
ex = utils.BASE_PACKAGES + ['keystone', 'haproxy', 'apache2']
self.assertEquals(set(ex), set(result))