예제 #1
0
 def test_get_certificate_sans_bindings(self, local_address, get_hostname,
                                        config, resolve_address,
                                        get_relation_ip, get_vip_in_network,
                                        resolve_network_cidr, local_unit):
     local_address.return_value = '10.1.2.3'
     get_hostname.return_value = 'juju-unit-2'
     _config = {
         'os-internal-hostname': 'internal.openstack.local',
         'os-admin-hostname': 'admin.openstack.local',
         'os-public-hostname': 'public.openstack.local',
     }
     _resolve_address = {
         'int': '10.0.0.2',
         'internal': '10.0.0.2',
         'admin': '10.10.0.2',
         'public': '10.20.0.2',
     }
     _npa = {
         'internal': '10.0.0.3',
         'admin': '10.10.0.3',
         'public': '10.20.0.3',
     }
     _vips = {
         '10.0.0.0/16': '10.0.0.100',
         '10.10.0.0/16': '10.10.0.100',
         '10.20.0.0/16': '10.20.0.100',
     }
     _resolve_nets = {
         '10.0.0.3': '10.0.0.0/16',
         '10.10.0.3': '10.10.0.0/16',
         '10.20.0.3': '10.20.0.0/16',
     }
     expect = list(
         set([
             '10.10.0.100', '10.10.0.2', '10.10.0.3', '10.0.0.100',
             '10.0.0.2', '10.0.0.3', '10.1.2.3', '10.20.0.100', '10.20.0.2',
             '10.20.0.3'
         ]))
     self.maxDiff = None
     config.side_effect = lambda x: _config.get(x)
     get_vip_in_network.side_effect = lambda x: _vips.get(x)
     resolve_network_cidr.side_effect = lambda x: _resolve_nets.get(x)
     get_relation_ip.side_effect = lambda x, cidr_network: _npa.get(x)
     resolve_address.side_effect = \
         lambda endpoint_type: _resolve_address[endpoint_type]
     expected_get_relation_ip_calls = [
         mock.call('internal', cidr_network=None),
         mock.call('admin', cidr_network=None),
         mock.call('public', cidr_network=None),
         mock.call('mybinding', cidr_network=None)
     ]
     self.assertEqual(
         cert_utils.get_certificate_sans(bindings=['mybinding']).sort(),
         expect.sort())
     get_relation_ip.assert_has_calls(expected_get_relation_ip_calls,
                                      any_order=True)
예제 #2
0
 def test_get_certificate_sans(self, unit_get, get_hostname,
                               config, resolve_address,
                               get_relation_ip,
                               get_vip_in_network, resolve_network_cidr,
                               local_unit):
     unit_get.return_value = '10.1.2.3'
     get_hostname.return_value = 'juju-unit-2'
     _config = {
         'os-internal-hostname': 'internal.openstack.local',
         'os-admin-hostname': 'admin.openstack.local',
         'os-public-hostname': 'public.openstack.local',
     }
     _resolve_address = {
         'int': '10.0.0.2',
         'internal': '10.0.0.2',
         'admin': '10.10.0.2',
         'public': '10.20.0.2',
     }
     _npa = {
         'internal': '10.0.0.3',
         'admin': '10.10.0.3',
         'public': '10.20.0.3',
     }
     _vips = {
         '10.0.0.0/16': '10.0.0.100',
         '10.10.0.0/16': '10.10.0.100',
         '10.20.0.0/16': '10.20.0.100',
     }
     _resolve_nets = {
         '10.0.0.3': '10.0.0.0/16',
         '10.10.0.3': '10.10.0.0/16',
         '10.20.0.3': '10.20.0.0/16',
     }
     expect = set([
         '10.10.0.100', '10.10.0.2', '10.10.0.3',
         '10.0.0.100', '10.0.0.2', '10.0.0.3',
         '10.1.2.3',
         '10.20.0.100', '10.20.0.2', '10.20.0.3'])
     self.maxDiff = None
     config.side_effect = lambda x: _config.get(x)
     get_vip_in_network.side_effect = lambda x: _vips.get(x)
     resolve_network_cidr.side_effect = lambda x: _resolve_nets.get(x)
     get_relation_ip.side_effect = lambda x, cidr_network: _npa.get(x)
     resolve_address.side_effect = \
         lambda endpoint_type: _resolve_address[endpoint_type]
     self.assertEqual(cert_utils.get_certificate_sans(), expect)