def test_get_one_active_router_for_host(self): """Get router info from INI for host specified.""" cfg_file = create_tempfile('[CISCO_CSR_REST:3.2.1.1]\n' 'rest_mgmt = 10.20.30.1\n' 'tunnel_ip = 3.2.1.3\n' 'username = me\n' 'password = secret\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet2\n' 'timeout = 5.0\n') cfg.CONF.set_override('config_file', [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() expected = { 'id': '123', 'hosting_device': { 'management_ip_address': '10.20.30.1', 'credentials': { 'username': '******', 'password': '******' } }, 'tunnel_if': 'GigabitEthernet2', 'tunnel_ip': '3.2.1.3' } routers = cfg_loader.get_active_routers_for_host( self.context, "ubuntu") self.assertEqual([expected], routers)
def test_get_one_active_router_for_host(self): """Get router info from INI for host specified.""" cfg_file = create_tempfile( '[CISCO_CSR_REST:3.2.1.1]\n' 'rest_mgmt = 10.20.30.1\n' 'tunnel_ip = 3.2.1.3\n' 'username = me\n' 'password = secret\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet2\n' 'timeout = 5.0\n') cfg.CONF.set_override('config_file', [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() expected = { 'id': '123', 'hosting_device': { 'management_ip_address': '10.20.30.1', 'credentials': {'username': '******', 'password': '******'} }, 'tunnel_if': 'GigabitEthernet2', 'tunnel_ip': '3.2.1.3' } routers = cfg_loader.get_active_routers_for_host(self.context, "ubuntu") self.assertEqual([expected], routers)
def test_get_one_active_router_for_host(self): """Get router info from INI for host specified.""" cfg_file = create_tempfile( "[CISCO_CSR_REST:3.2.1.1]\n" "rest_mgmt = 10.20.30.1\n" "tunnel_ip = 3.2.1.3\n" "username = me\n" "password = secret\n" "host = ubuntu\n" "tunnel_if = GigabitEthernet2\n" "timeout = 5.0\n" ) cfg.CONF.set_override("config_file", [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() expected = { "id": "123", "hosting_device": { "management_ip_address": "10.20.30.1", "credentials": {"username": "******", "password": "******"}, }, "tunnel_if": "GigabitEthernet2", "tunnel_ip": "3.2.1.3", } routers = cfg_loader.get_active_routers_for_host(self.context, "ubuntu") self.assertEqual([expected], routers)
def get_vpn_services_on_host(self, context, host=None): """Returns info on the VPN services on the host.""" routers = via_cfg_file.get_active_routers_for_host(context, host) host_vpn_services = [] for router in routers: vpn_services = self.get_vpn_services_using(context, router['id']) for vpn_service in vpn_services: host_vpn_services.append( self.driver._make_vpnservice_dict(context, vpn_service, router)) return host_vpn_services
def get_vpn_services_on_host(self, context, host=None): """Returns info on the VPN services on the host.""" routers = via_cfg_file.get_active_routers_for_host(context, host) host_vpn_services = [] for router in routers: vpn_services = self.get_vpn_services_using(context, router['id']) for vpn_service in vpn_services: host_vpn_services.append( self.driver._make_vpnservice_dict(context, vpn_service, router)) return host_vpn_services
def test_get_two_active_routers_for_host(self): """Get info for two routers, from INI file, for host specified.""" cfg_file = create_tempfile('[CISCO_CSR_REST:3.2.1.1]\n' 'rest_mgmt = 10.20.30.1\n' 'tunnel_ip = 3.2.1.1\n' 'username = me\n' 'password = secret\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet2\n' 'timeout = 5.0\n' '[CISCO_CSR_REST:4.3.2.1]\n' 'rest_mgmt = 10.20.30.2\n' 'tunnel_ip = 4.3.2.1\n' 'username = you\n' 'password = insecure\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet3\n' 'timeout = 5.0\n') cfg.CONF.set_override('config_file', [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() expected_a = { 'id': '123', 'hosting_device': { 'management_ip_address': '10.20.30.1', 'credentials': { 'username': '******', 'password': '******' } }, 'tunnel_if': 'GigabitEthernet2', 'tunnel_ip': '3.2.1.1' } expected_b = { 'id': '456', 'hosting_device': { 'management_ip_address': '10.20.30.2', 'credentials': { 'username': '******', 'password': '******' } }, 'tunnel_if': 'GigabitEthernet3', 'tunnel_ip': '4.3.2.1' } routers = cfg_loader.get_active_routers_for_host( self.context, "ubuntu") sorted_routers = sorted(routers, key=lambda key: key['id']) self.assertEqual([expected_a, expected_b], sorted_routers)
def test_failure_to_lookup_router_id_for_host(self): """Fail to get router UUID for router in INI matching host name.""" cfg_file = create_tempfile('[CISCO_CSR_REST:6.6.6.1]\n' 'rest_mgmt = 10.20.30.1\n' 'tunnel_ip = 6.6.6.1\n' 'username = me\n' 'password = secret\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet3\n' 'timeout = 5.0\n') cfg.CONF.set_override('config_file', [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() routers = cfg_loader.get_active_routers_for_host( self.context, "ubuntu") self.assertEqual([], routers)
def test_failure_to_lookup_router_id_for_host(self): """Fail to get router UUID for router in INI matching host name.""" cfg_file = create_tempfile( "[CISCO_CSR_REST:6.6.6.1]\n" "rest_mgmt = 10.20.30.1\n" "tunnel_ip = 6.6.6.1\n" "username = me\n" "password = secret\n" "host = ubuntu\n" "tunnel_if = GigabitEthernet3\n" "timeout = 5.0\n" ) cfg.CONF.set_override("config_file", [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() routers = cfg_loader.get_active_routers_for_host(self.context, "ubuntu") self.assertEqual([], routers)
def test_get_two_active_routers_for_host(self): """Get info for two routers, from INI file, for host specified.""" cfg_file = create_tempfile( '[CISCO_CSR_REST:3.2.1.1]\n' 'rest_mgmt = 10.20.30.1\n' 'tunnel_ip = 3.2.1.1\n' 'username = me\n' 'password = secret\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet2\n' 'timeout = 5.0\n' '[CISCO_CSR_REST:4.3.2.1]\n' 'rest_mgmt = 10.20.30.2\n' 'tunnel_ip = 4.3.2.1\n' 'username = you\n' 'password = insecure\n' 'host = ubuntu\n' 'tunnel_if = GigabitEthernet3\n' 'timeout = 5.0\n') cfg.CONF.set_override('config_file', [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() expected_a = { 'id': '123', 'hosting_device': { 'management_ip_address': '10.20.30.1', 'credentials': {'username': '******', 'password': '******'} }, 'tunnel_if': 'GigabitEthernet2', 'tunnel_ip': '3.2.1.1' } expected_b = { 'id': '456', 'hosting_device': { 'management_ip_address': '10.20.30.2', 'credentials': {'username': '******', 'password': '******'} }, 'tunnel_if': 'GigabitEthernet3', 'tunnel_ip': '4.3.2.1' } routers = cfg_loader.get_active_routers_for_host(self.context, "ubuntu") sorted_routers = sorted(routers, key=lambda key: key['id']) self.assertEqual([expected_a, expected_b], sorted_routers)
def test_get_two_active_routers_for_host(self): """Get info for two routers, from INI file, for host specified.""" cfg_file = create_tempfile( "[CISCO_CSR_REST:3.2.1.1]\n" "rest_mgmt = 10.20.30.1\n" "tunnel_ip = 3.2.1.1\n" "username = me\n" "password = secret\n" "host = ubuntu\n" "tunnel_if = GigabitEthernet2\n" "timeout = 5.0\n" "[CISCO_CSR_REST:4.3.2.1]\n" "rest_mgmt = 10.20.30.2\n" "tunnel_ip = 4.3.2.1\n" "username = you\n" "password = insecure\n" "host = ubuntu\n" "tunnel_if = GigabitEthernet3\n" "timeout = 5.0\n" ) cfg.CONF.set_override("config_file", [cfg_file]) mock.patch(CISCO_GET_ROUTER_ID, side_effect=self._get_router_id_from_external_ip).start() expected_a = { "id": "123", "hosting_device": { "management_ip_address": "10.20.30.1", "credentials": {"username": "******", "password": "******"}, }, "tunnel_if": "GigabitEthernet2", "tunnel_ip": "3.2.1.1", } expected_b = { "id": "456", "hosting_device": { "management_ip_address": "10.20.30.2", "credentials": {"username": "******", "password": "******"}, }, "tunnel_if": "GigabitEthernet3", "tunnel_ip": "4.3.2.1", } routers = cfg_loader.get_active_routers_for_host(self.context, "ubuntu") sorted_routers = sorted(routers, key=lambda key: key["id"]) self.assertEqual([expected_a, expected_b], sorted_routers)
def test_failure_to_find_routers_for_host(self): """Fail to find a router in INI with matching host name.""" routers = cfg_loader.get_active_routers_for_host(self.context, "bogus") self.assertEqual([], routers)
def test_failure_to_find_routers_for_host(self): """Fail to find a router in INI with matching host name.""" routers = cfg_loader.get_active_routers_for_host(self.context, "bogus") self.assertEqual([], routers)