1
from mock import MagicMock
2
from collections import OrderedDict
3
import charmhelpers.contrib.openstack.templating as templating
5
templating.OSConfigRenderer = MagicMock()
7
import pg_gw_utils as nutils
9
from test_utils import (
12
import charmhelpers.core.hookenv as hookenv
17
'neutron_plugin_attribute',
23
def __init__(self, return_value):
24
self.return_value = return_value
27
return self.return_value
30
class TestPGGwUtils(CharmTestCase):
33
super(TestPGGwUtils, self).setUp(nutils, TO_PATCH)
34
#self.config.side_effect = self.test_config.get
40
def test_register_configs(self):
41
class _mock_OSConfigRenderer():
42
def __init__(self, templates_dir=None, openstack_release=None):
46
def register(self, config, ctxt):
47
self.configs.append(config)
48
self.ctxts.append(ctxt)
50
self.os_release.return_value = 'trusty'
51
templating.OSConfigRenderer.side_effect = _mock_OSConfigRenderer
52
_regconfs = nutils.register_configs()
53
confs = ['/var/lib/libvirt/filesystems/plumgrid/opt/pg/etc/plumgrid.conf',
54
'/var/lib/libvirt/filesystems/plumgrid-data/conf/etc/hostname',
55
'/var/lib/libvirt/filesystems/plumgrid-data/conf/etc/hosts',
56
'/var/lib/libvirt/filesystems/plumgrid-data/conf/pg/ifcs.conf',
57
'/etc/nova/rootwrap.d/network.filters']
58
self.assertItemsEqual(_regconfs.configs, confs)
60
def test_resource_map(self):
61
_map = nutils.resource_map()
63
confs = [nutils.PG_CONF]
64
[self.assertIn(q_conf, _map.keys()) for q_conf in confs]
65
self.assertEqual(_map[nutils.PG_CONF]['services'], svcs)
67
def test_restart_map(self):
68
_restart_map = nutils.restart_map()
69
expect = OrderedDict([
70
(nutils.PG_CONF, ['plumgrid']),
71
(nutils.PGHN_CONF, ['plumgrid']),
72
(nutils.PGHS_CONF, ['plumgrid']),
73
(nutils.PGIFCS_CONF, []),
74
(nutils.FILTERS_CONF, []),
76
self.assertEqual(expect, _restart_map)
77
for item in _restart_map:
78
self.assertTrue(item in _restart_map)
79
self.assertTrue(expect[item] == _restart_map[item])