17
17
super(TestKeystoneContexts, self).setUp(context, TO_PATCH)
19
mod_ch_context = 'charmhelpers.contrib.openstack.context'
21
@patch('%s.ApacheSSLContext.canonical_names' % (mod_ch_context))
22
@patch('%s.ApacheSSLContext.configure_ca' % (mod_ch_context))
23
@patch('%s.config' % (mod_ch_context))
24
@patch('%s.is_clustered' % (mod_ch_context))
25
@patch('%s.determine_apache_port' % (mod_ch_context))
26
@patch('%s.determine_api_port' % (mod_ch_context))
27
@patch('%s.unit_get' % (mod_ch_context))
28
@patch('%s.https' % (mod_ch_context))
19
@patch('charmhelpers.contrib.openstack.context.config')
20
@patch('charmhelpers.contrib.openstack.context.is_clustered')
21
@patch('charmhelpers.contrib.openstack.context.determine_apache_port')
22
@patch('charmhelpers.contrib.openstack.context.determine_api_port')
23
@patch('charmhelpers.contrib.openstack.context.unit_get')
24
@patch('charmhelpers.contrib.openstack.context.https')
29
25
def test_apache_ssl_context_service_enabled(self, mock_https,
31
27
mock_determine_api_port,
32
28
mock_determine_apache_port,
36
mock_cfg_canonical_names):
37
31
mock_https.return_value = True
38
32
mock_unit_get.return_value = '1.2.3.4'
39
33
mock_determine_api_port.return_value = '12'
40
34
mock_determine_apache_port.return_value = '34'
41
35
mock_is_clustered.return_value = False
36
mock_config.return_value = None
43
38
ctxt = context.ApacheSSLContext()
44
with patch.object(ctxt, 'enable_modules'):
45
with patch.object(ctxt, 'configure_cert'):
46
self.assertEquals(ctxt(), {'endpoints': [('1.2.3.4', '1.2.3.4',
49
'namespace': 'keystone'})
50
self.assertTrue(mock_https.called)
51
mock_unit_get.assert_called_with('private-address')
39
ctxt.enable_modules = MagicMock()
40
ctxt.configure_cert = MagicMock()
41
ctxt.configure_ca = MagicMock()
42
ctxt.canonical_names = MagicMock()
43
self.assertEquals(ctxt(), {'endpoints': [('1.2.3.4',
46
'namespace': 'keystone',
48
self.assertTrue(mock_https.called)
49
mock_unit_get.assert_called_with('private-address')
53
@patch('%s.get_address_in_network' % (mod_ch_context))
54
@patch('%s.ApacheSSLContext.canonical_names' % (mod_ch_context))
55
@patch('%s.ApacheSSLContext.configure_ca' % (mod_ch_context))
56
@patch('%s.config' % (mod_ch_context))
57
@patch('%s.relation_ids' % (mod_ch_context))
58
@patch('%s.unit_get' % (mod_ch_context))
59
@patch('%s.related_units' % (mod_ch_context))
60
@patch('%s.relation_get' % (mod_ch_context))
61
@patch('%s.log' % (mod_ch_context))
51
@patch('charmhelpers.contrib.openstack.context.get_netmask_for_address')
52
@patch('charmhelpers.contrib.openstack.context.get_address_in_network')
53
@patch('charmhelpers.contrib.openstack.context.config')
54
@patch('charmhelpers.contrib.openstack.context.relation_ids')
55
@patch('charmhelpers.contrib.openstack.context.unit_get')
56
@patch('charmhelpers.contrib.openstack.context.related_units')
57
@patch('charmhelpers.contrib.openstack.context.relation_get')
58
@patch('charmhelpers.contrib.openstack.context.log')
62
59
@patch('__builtin__.open')
63
def test_haproxy_context_service_enabled(self, mock_open, mock_log,
65
mock_related_units, mock_unit_get,
66
mock_relation_ids, mock_config,
68
mock_cfg_canonical_names,
70
mock_get_addr.return_value = "1.2.3.4"
60
def test_haproxy_context_service_enabled(
61
self, mock_open, mock_log, mock_relation_get, mock_related_units,
62
mock_unit_get, mock_relation_ids, mock_config,
63
mock_get_address_in_network, mock_get_netmask_for_address):
71
64
mock_relation_ids.return_value = ['identity-service:0', ]
72
65
mock_unit_get.return_value = '1.2.3.4'
73
66
mock_relation_get.return_value = '10.0.0.0'
74
67
mock_related_units.return_value = ['unit/0', ]
75
mock_config.side_effect = lambda args: False
68
mock_config.return_value = None
69
mock_get_address_in_network.return_value = None
70
mock_get_netmask_for_address.return_value = '255.255.255.0'
76
71
self.determine_apache_port.return_value = '34'
78
73
ctxt = context.HAProxyContext()
83
78
{'listen_ports': {'admin_port': 'keystone',
84
79
'public_port': 'keystone'},
85
'units': {'keystone': '1.2.3.4', 'unit-0': '10.0.0.0'},
86
80
'local_host': '127.0.0.1',
87
81
'haproxy_host': '0.0.0.0',
88
82
'stat_port': ':8888',
89
83
'service_ports': {'admin-port': ['keystone', '34'],
90
84
'public-port': ['keystone', '34']},
91
'units': {'keystone': '1.2.3.4', 'unit-0': '10.0.0.0'}})
92
# mock_unit_get.assert_called_with('private-address')
93
# mock_relation_get.assert_called_with(
95
# rid='identity-service:0',
97
# mock_open.assert_called_with('/etc/default/haproxy', 'w')
85
'frontends': {'1.2.3.4': {
86
'network': '1.2.3.4/255.255.255.0',
88
'keystone': '1.2.3.4',