<s> import copy <EOL> import mock <EOL> from neutronclient . v2_0 import client as neutron_client <EOL> from oslotest import mockpatch <EOL> from cloudferry . lib . base import exception <EOL> from cloudferry . lib . os . network import neutron <EOL> from cloudferry . lib . utils import utils <EOL> from tests import test <EOL> FAKE_CONFIG = utils . ext_dict ( <EOL> cloud = utils . ext_dict ( { '<STR_LIT:user>' : '<STR_LIT>' , <EOL> '<STR_LIT:password>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False } ) , <EOL> migrate = utils . ext_dict ( { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:5> } ) , <EOL> network = utils . ext_dict ( { <EOL> '<STR_LIT>' : True <EOL> } ) ) <EOL> class NeutronTestCase ( test . TestCase ) : <EOL> def setUp ( self ) : <EOL> super ( NeutronTestCase , self ) . setUp ( ) <EOL> self . neutron_mock_client = mock . MagicMock ( ) <EOL> self . neutron_client_patch = mockpatch . PatchObject ( neutron_client , <EOL> '<STR_LIT>' , <EOL> new = self . neutron_mock_client ) <EOL> self . useFixture ( self . neutron_client_patch ) <EOL> self . identity_mock = mock . Mock ( ) <EOL> self . network_mock = mock . Mock ( ) <EOL> self . network_mock . neutron_client = self . neutron_mock_client <EOL> self . fake_cloud = mock . Mock ( ) <EOL> self . fake_cloud . mysql_connector = mock . Mock ( ) <EOL> self . fake_cloud . resources = dict ( identity = self . identity_mock , <EOL> network = self . network_mock ) <EOL> self . neutron_network_client = neutron . NeutronNetwork ( FAKE_CONFIG , self . fake_cloud ) <EOL> self . identity_mock . get_tenant_id_by_name = self . f_tenant_id_by_name <EOL> self . identity_mock . get_tenants_func = mock . Mock ( return_value = self . f_mock ) <EOL> self . neutron_network_client . get_lb_pools = mock . Mock ( ) <EOL> self . neutron_network_client . get_lb_pools . return_value = [ { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } ] <EOL> self . net_1_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ mock . MagicMock ( ) ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:5> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' } , <EOL> '<STR_LIT>' : { } } <EOL> self . net_2_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:10> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' } , <EOL> '<STR_LIT>' : { } } <EOL> self . subnet_1_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : [ { '<STR_LIT:start>' : '<STR_LIT>' , <EOL> '<STR_LIT:end>' : '<STR_LIT>' } ] , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:4> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : { } } <EOL> self . subnet_2_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : [ { '<STR_LIT:start>' : '<STR_LIT>' , <EOL> '<STR_LIT:end>' : '<STR_LIT>' } ] , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:4> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> self . segmentation_ids = { '<STR_LIT>' : [ <NUM_LIT:2> , <NUM_LIT:4> , <NUM_LIT:6> ] , <EOL> '<STR_LIT>' : [ <NUM_LIT:3> , <NUM_LIT:5> , <NUM_LIT:7> ] , <EOL> '<STR_LIT>' : [ <NUM_LIT:10> , <NUM_LIT:20> ] } <EOL> def f_mock ( self , tenant_id ) : <EOL> if tenant_id == '<STR_LIT>' : <EOL> return '<STR_LIT>' <EOL> elif tenant_id == '<STR_LIT>' : <EOL> return '<STR_LIT>' <EOL> def f_tenant_id_by_name ( self , name ) : <EOL> if name == '<STR_LIT>' : <EOL> return '<STR_LIT>' <EOL> elif name == '<STR_LIT>' : <EOL> return '<STR_LIT>' <EOL> def test_get_client ( self ) : <EOL> self . neutron_mock_client . reset_mock ( ) <EOL> client = self . neutron_network_client . get_client ( ) <EOL> self . neutron_mock_client . assert_called_once_with ( <EOL> username = '<STR_LIT>' , <EOL> password = '<STR_LIT>' , <EOL> tenant_name = '<STR_LIT>' , <EOL> auth_url = '<STR_LIT>' , <EOL> cacert = '<STR_LIT>' , <EOL> insecure = False , <EOL> region_name = None <EOL> ) <EOL> self . assertEqual ( self . neutron_mock_client ( ) , client ) <EOL> def test_upload_quotas ( self ) : <EOL> quota = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : <NUM_LIT:12> <EOL> } <EOL> } <EOL> self . neutron_network_client . upload_quota ( quota ) <EOL> ( self . neutron_mock_client ( ) . update_quota . <EOL> assert_called_once_with ( "<STR_LIT>" , <EOL> { '<STR_LIT>' : quota [ '<STR_LIT>' ] } ) ) <EOL> def test_upload_lb_monitors ( self ) : <EOL> self . neutron_network_client . get_lb_monitors = mock . Mock ( ) <EOL> self . neutron_network_client . get_lb_monitors . return_value = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> monitors = [ { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : None <EOL> } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> res_monitors = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> } <EOL> self . neutron_network_client . upload_lb_monitors ( monitors ) <EOL> self . neutron_mock_client ( ) . create_health_monitor . assert_called_once_with ( res_monitors ) <EOL> def test_upload_lb_members ( self ) : <EOL> self . neutron_network_client . get_subnets = mock . Mock ( ) <EOL> self . neutron_network_client . get_subnets . return_value = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> self . neutron_network_client . get_lb_members = mock . Mock ( ) <EOL> self . neutron_network_client . get_lb_members . return_value = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> pools = [ { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : None <EOL> } <EOL> } ] <EOL> members = [ { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : None <EOL> } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:address>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } ] <EOL> res_members = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:address>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> } <EOL> self . neutron_network_client . upload_lb_members ( members , pools ) <EOL> self . neutron_mock_client ( ) . create_member . assert_called_once_with ( res_members ) <EOL> def test_upload_lb_vips ( self ) : <EOL> self . neutron_network_client . get_subnets = mock . Mock ( ) <EOL> self . neutron_network_client . get_subnets . return_value = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> pools = [ { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : None <EOL> } <EOL> } ] <EOL> vips = [ <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT:address>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:100>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : None <EOL> } <EOL> } <EOL> ] <EOL> subnets = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> res_vip = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT:address>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:100>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> } <EOL> self . neutron_network_client . upload_lb_vips ( vips , pools , subnets ) <EOL> self . neutron_mock_client ( ) . create_vip . assert_called_once_with ( res_vip ) <EOL> def test_lb_pools ( self ) : <EOL> self . neutron_network_client . get_subnets = mock . Mock ( ) <EOL> self . neutron_network_client . get_subnets . return_value = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> pools = [ { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : None <EOL> } <EOL> } ] <EOL> subnets = [ <EOL> { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> ] <EOL> res_pools = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> } <EOL> self . neutron_network_client . upload_lb_pools ( pools , subnets ) <EOL> self . neutron_mock_client ( ) . create_pool . assert_called_once_with ( res_pools ) <EOL> def test_get_quotas ( self ) : <EOL> ten1 = mock . Mock ( ) <EOL> ten1 . id = "<STR_LIT:1>" <EOL> ten1 . name = "<STR_LIT>" <EOL> self . identity_mock . get_tenants_list . return_value = [ ten1 ] <EOL> self . identity_mock . try_get_tenant_name_by_id . return_value = "<STR_LIT>" <EOL> self . neutron_mock_client ( ) . show_quota . return_value = { '<STR_LIT>' : <NUM_LIT:12> } <EOL> self . neutron_mock_client ( ) . list_quotas . return_value = { <EOL> '<STR_LIT>' : [ { '<STR_LIT>' : <NUM_LIT:12> , '<STR_LIT>' : "<STR_LIT:1>" } ] <EOL> } <EOL> expected_data = { <EOL> '<STR_LIT>' : { '<STR_LIT>' : <NUM_LIT:12> } <EOL> } <EOL> res1 = self . neutron_network_client . get_quota ( "<STR_LIT>" ) <EOL> self . assertEqual ( expected_data , res1 ) <EOL> res2 = self . neutron_network_client . get_quota ( "<STR_LIT:1>" ) <EOL> self . assertEqual ( expected_data , res2 ) <EOL> FAKE_CONFIG . network . get_all_quota = False <EOL> res3 = self . neutron_network_client . get_quota ( "<STR_LIT>" ) <EOL> self . assertEqual ( expected_data , res3 ) <EOL> self . neutron_mock_client ( ) . list_quotas . return_value = { <EOL> '<STR_LIT>' : [ { '<STR_LIT>' : <NUM_LIT:12> , '<STR_LIT>' : "<STR_LIT:1>" } ] <EOL> } <EOL> res4 = self . neutron_network_client . get_quota ( "<STR_LIT:1>" ) <EOL> self . assertEqual ( expected_data , res4 ) <EOL> self . neutron_mock_client ( ) . list_quotas . return_value = { <EOL> '<STR_LIT>' : [ { '<STR_LIT>' : <NUM_LIT:12> , '<STR_LIT>' : "<STR_LIT:1>" } ] <EOL> } <EOL> res5 = self . neutron_network_client . get_quota ( "<STR_LIT:2>" ) <EOL> self . assertEqual ( res5 , { } ) <EOL> def test_get_networks ( self ) : <EOL> fake_net_list = { '<STR_LIT>' : [ { '<STR_LIT:status>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ mock . ANY ] , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:5> } ] } <EOL> fake_subnet_list = { '<STR_LIT>' : [ { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT:start>' : '<STR_LIT>' , <EOL> '<STR_LIT:end>' : '<STR_LIT>' } <EOL> ] , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : <NUM_LIT:4> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT:id>' : '<STR_LIT>' } ] } <EOL> self . neutron_mock_client ( ) . list_networks . return_value = fake_net_list <EOL> self . neutron_mock_client ( ) . list_subnets . return_value = fake_subnet_list <EOL> self . network_mock . get_networks_list = mock . Mock ( <EOL> return_value = fake_net_list [ '<STR_LIT>' ] ) <EOL> self . network_mock . get_resource_hash = mock . Mock ( <EOL> side_effect = [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> networks_info = [ self . net_1_info ] <EOL> networks_info_result = self . neutron_network_client . get_networks ( ) <EOL> networks_info_result [ <NUM_LIT:0> ] [ '<STR_LIT>' ] = [ mock . ANY ] <EOL> self . assertEquals ( networks_info , networks_info_result ) <EOL> def test_get_subnets ( self ) : <EOL> fake_net_list = { '<STR_LIT>' : [ { '<STR_LIT:status>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ mock . ANY ] , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:5> } ] } <EOL> fake_subnet_list = { '<STR_LIT>' : [ { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT:start>' : '<STR_LIT>' , <EOL> '<STR_LIT:end>' : '<STR_LIT>' } <EOL> ] , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : <NUM_LIT:4> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT:id>' : '<STR_LIT>' } ] } <EOL> self . neutron_mock_client ( ) . list_subnets . return_value = fake_subnet_list <EOL> self . network_mock . get_networks_list = mock . Mock ( <EOL> return_value = fake_net_list [ '<STR_LIT>' ] ) <EOL> self . network_mock . get_resource_hash = mock . Mock ( <EOL> return_value = '<STR_LIT>' ) <EOL> subnets_info = [ self . subnet_1_info ] <EOL> subnets_info_result = self . neutron_network_client . get_subnets ( ) <EOL> self . assertEquals ( subnets_info , subnets_info_result ) <EOL> def test_get_routers ( self ) : <EOL> fake_net_list = { '<STR_LIT>' : [ { '<STR_LIT:status>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ mock . ANY ] , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:5> } ] } <EOL> fake_router_list = { '<STR_LIT>' : [ { '<STR_LIT:status>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True <EOL> } , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT:id>' : '<STR_LIT>' } ] } <EOL> fake_ports_list = [ { '<STR_LIT>' : [ { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } ] , <EOL> '<STR_LIT>' : '<STR_LIT>' } ] <EOL> self . neutron_mock_client ( ) . list_routers . return_value = fake_router_list <EOL> self . network_mock . get_networks_list = mock . Mock ( <EOL> return_value = fake_net_list [ '<STR_LIT>' ] ) <EOL> self . network_mock . get_ports_list . return_value = fake_ports_list <EOL> self . network_mock . get_resource_hash = mock . Mock ( <EOL> return_value = '<STR_LIT>' ) <EOL> self . network_mock . get_ports_info . return_value = { '<STR_LIT>' : { '<STR_LIT>' , } , '<STR_LIT>' : { '<STR_LIT>' , } } <EOL> routers_info = [ { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True <EOL> } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } ] <EOL> routers_info_result = self . neutron_network_client . get_routers ( ) <EOL> self . assertEqual ( routers_info , routers_info_result ) <EOL> def test_get_floatingips ( self ) : <EOL> fake_net_list = { '<STR_LIT>' : [ { '<STR_LIT:status>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ mock . ANY ] , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:5> } ] } <EOL> fake_fips = { '<STR_LIT>' : [ <EOL> { '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT:id>' : '<STR_LIT>' } ] } <EOL> self . network_mock . get_networks_list = mock . Mock ( <EOL> return_value = fake_net_list [ '<STR_LIT>' ] ) <EOL> self . neutron_mock_client ( ) . list_floatingips . return_value = fake_fips <EOL> floatingips_info = [ { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : { } } ] <EOL> floatings_info_result = self . neutron_network_client . get_floatingips ( ) <EOL> self . assertEquals ( floatingips_info , floatings_info_result ) <EOL> def test_get_security_groups ( self ) : <EOL> fake_secgroups_list = { <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' } <EOL> ] , <EOL> '<STR_LIT:description>' : '<STR_LIT>' } <EOL> ] <EOL> } <EOL> self . neutron_mock_client ( ) . list_security_groups . return_value = fake_secgroups_list <EOL> secgr_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> rule_info = { '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> rule_info [ '<STR_LIT>' ] = self . neutron_network_client . get_resource_hash ( rule_info , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> secgr_info [ '<STR_LIT>' ] = [ rule_info ] <EOL> secgr_info [ '<STR_LIT>' ] = self . neutron_network_client . get_resource_hash ( secgr_info , <EOL> '<STR_LIT:name>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT:description>' ) <EOL> secgroups_info = [ secgr_info ] <EOL> self . network_mock . get_resource_hash . side_effect = [ <EOL> rule_info [ '<STR_LIT>' ] , <EOL> secgr_info [ '<STR_LIT>' ] <EOL> ] <EOL> secgr_info_result = self . neutron_network_client . get_sec_gr_and_rules ( ) <EOL> self . assertEquals ( secgroups_info , secgr_info_result ) <EOL> def test_upload_neutron_security_groups ( self ) : <EOL> sg1_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> sg2_info = { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> self . neutron_network_client . get_sec_gr_and_rules = mock . Mock ( return_value = [ sg1_info ] ) <EOL> fake_secgs = [ sg1_info , sg2_info ] <EOL> self . neutron_network_client . upload_neutron_security_groups ( fake_secgs ) <EOL> sec_gr_info = { <EOL> '<STR_LIT>' : { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' } } <EOL> self . neutron_mock_client ( ) . create_security_group . assert_called_once_with ( sec_gr_info ) <EOL> def test_upload_sec_group_rules ( self ) : <EOL> sg1_info = { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ { '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } ] , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> sg2_info = { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ { '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } ] , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> existing_sg2_info = { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> ] , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> fake_existing_secgroups = [ sg1_info , existing_sg2_info ] <EOL> self . neutron_network_client . get_sec_gr_and_rules = mock . Mock ( return_value = fake_existing_secgroups ) <EOL> self . neutron_network_client . upload_sec_group_rules ( [ sg1_info , <EOL> sg2_info ] ) <EOL> rule_info = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> } <EOL> self . neutron_mock_client ( ) . create_security_group_rule . assert_called_once_with ( rule_info ) <EOL> def test_upload_networks ( self ) : <EOL> fake_existing_nets = [ self . net_2_info ] <EOL> self . neutron_network_client . get_networks = mock . Mock ( return_value = fake_existing_nets ) <EOL> network_info = { <EOL> '<STR_LIT>' : { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } } <EOL> self . neutron_network_client . upload_networks ( [ self . net_1_info ] , <EOL> self . segmentation_ids , [ ] ) <EOL> if network_info [ '<STR_LIT>' ] [ '<STR_LIT>' ] : <EOL> self . neutron_mock_client ( ) . create_network . assert_called_once_with ( network_info ) <EOL> def test_upload_routers ( self ) : <EOL> router1_info = { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> router2_info = { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : True } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { } } <EOL> src_nets_info = [ self . net_1_info , self . net_2_info ] <EOL> src_subnets_info = [ self . subnet_1_info , self . subnet_2_info ] <EOL> src_routers_info = [ router1_info , router2_info ] <EOL> self . neutron_network_client . get_networks = mock . Mock ( return_value = src_nets_info ) <EOL> self . neutron_network_client . get_subnets = mock . Mock ( return_value = src_subnets_info ) <EOL> self . neutron_network_client . get_routers = mock . Mock ( return_value = [ router1_info ] ) <EOL> self . neutron_network_client . add_router_interfaces = mock . Mock ( return_value = None ) <EOL> self . neutron_network_client . convert_routers = mock . Mock ( return_value = router2_info ) <EOL> router_info = { <EOL> '<STR_LIT>' : { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } } <EOL> self . neutron_network_client . upload_routers ( src_nets_info , <EOL> src_subnets_info , <EOL> src_routers_info ) <EOL> self . neutron_mock_client ( ) . create_router . assert_called_once_with ( router_info ) <EOL> def test_add_router_interfaces ( self ) : <EOL> src_router = { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' , } , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT:name>' : '<STR_LIT>' } <EOL> src_subnets = [ { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' } ] <EOL> dst_router = { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : set ( ) , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT:name>' : '<STR_LIT>' } <EOL> dst_subnets = [ { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : '<STR_LIT>' } ] <EOL> self . neutron_network_client . add_router_interfaces ( src_router , <EOL> dst_router , <EOL> src_subnets , <EOL> dst_subnets ) <EOL> self . neutron_mock_client ( ) . add_interface_router . assert_called_once_with ( '<STR_LIT>' , <EOL> { '<STR_LIT>' : '<STR_LIT>' } ) <EOL> def test_get_network_from_list_by_id ( self ) : <EOL> networks_list = [ self . net_1_info , self . net_2_info ] <EOL> network = neutron . get_network_from_list_by_id ( '<STR_LIT>' , <EOL> networks_list ) <EOL> self . assertEqual ( self . net_2_info , network ) <EOL> def test_get_network_from_list ( self ) : <EOL> subnet1 = copy . deepcopy ( self . subnet_1_info ) <EOL> subnet2 = copy . deepcopy ( self . subnet_2_info ) <EOL> subnet1 [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> subnet2 [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> subnet2 [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> subnets_list = [ subnet1 , subnet2 ] <EOL> networks_list = [ self . net_1_info , self . net_2_info ] <EOL> network = neutron . get_network_from_list ( ip = '<STR_LIT>' , <EOL> tenant_id = '<STR_LIT>' , <EOL> networks_list = networks_list , <EOL> subnets_list = subnets_list ) <EOL> self . assertEqual ( self . net_2_info , network ) <EOL> def test_get_segmentation_ids_from_net_list ( self ) : <EOL> networks_list = [ self . net_1_info , self . net_2_info ] <EOL> seg_ids = { '<STR_LIT>' : [ <NUM_LIT:5> ] , <EOL> '<STR_LIT>' : [ <NUM_LIT:10> ] } <EOL> result = neutron . get_segmentation_ids_from_net_list ( networks_list ) <EOL> self . assertEqual ( seg_ids , result ) <EOL> def test_generate_new_segmentation_id ( self ) : <EOL> dst_seg_ids = { '<STR_LIT>' : [ <NUM_LIT:2> , <NUM_LIT:4> , <NUM_LIT:6> , <NUM_LIT> , <NUM_LIT> ] , <EOL> '<STR_LIT>' : [ <NUM_LIT:3> , <NUM_LIT:5> , <NUM_LIT:7> , <NUM_LIT:10> , <NUM_LIT:12> ] , <EOL> '<STR_LIT>' : [ <NUM_LIT:10> , <NUM_LIT:30> , <NUM_LIT> ] } <EOL> seg_id = neutron . generate_new_segmentation_id ( self . segmentation_ids , <EOL> dst_seg_ids , <EOL> '<STR_LIT>' ) <EOL> self . assertEqual ( <NUM_LIT:3> , seg_id ) <EOL> def test_generate_new_segmentation_id_vlan_limit ( self ) : <EOL> dst_seg_ids = { '<STR_LIT>' : [ <NUM_LIT:2> , <NUM_LIT:4> , <NUM_LIT:6> , <NUM_LIT> , <NUM_LIT> ] , <EOL> '<STR_LIT>' : range ( <NUM_LIT:2> , <NUM_LIT> ) , <EOL> '<STR_LIT>' : [ <NUM_LIT:10> , <NUM_LIT:30> , <NUM_LIT> ] } <EOL> self . assertRaises ( exception . AbortMigrationError , <EOL> neutron . generate_new_segmentation_id , <EOL> self . segmentation_ids , <EOL> dst_seg_ids , <EOL> '<STR_LIT>' ) <EOL> class NeutronRouterTestCase ( test . TestCase ) : <EOL> def test_router_class ( self ) : <EOL> router_info = { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } <EOL> subnets = { '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } } <EOL> router = neutron . Router ( router_info , subnets ) <EOL> self . assertEqual ( '<STR_LIT>' , router . id ) <EOL> self . assertEqual ( '<STR_LIT>' , router . ext_net_id ) <EOL> self . assertEqual ( [ '<STR_LIT>' ] , router . int_cidr ) <EOL> self . assertEqual ( '<STR_LIT>' , router . ext_cidr ) <EOL> self . assertEqual ( '<STR_LIT>' , router . ext_subnet_id ) <EOL> self . assertEqual ( '<STR_LIT>' , router . tenant_name ) <EOL> self . assertEqual ( '<STR_LIT>' , router . ext_ip ) <EOL> @ mock . patch ( "<STR_LIT>" ) <EOL> @ mock . patch ( "<STR_LIT>" , <EOL> mock . MagicMock ( ) ) <EOL> class NeutronClientTestCase ( test . TestCase ) : <EOL> def test_adds_region_if_set_in_config ( self , n_client ) : <EOL> cloud = mock . MagicMock ( ) <EOL> config = mock . MagicMock ( ) <EOL> tenant = '<STR_LIT>' <EOL> region = '<STR_LIT>' <EOL> user = '<STR_LIT:user>' <EOL> auth_url = '<STR_LIT>' <EOL> password = '<STR_LIT:password>' <EOL> insecure = False <EOL> cacert = '<STR_LIT>' <EOL> config . cloud . user = user <EOL> config . cloud . tenant = tenant <EOL> config . cloud . region = region <EOL> config . cloud . auth_url = auth_url <EOL> config . cloud . password = password <EOL> config . cloud . insecure = insecure <EOL> config . cloud . cacert = cacert <EOL> n = neutron . NeutronNetwork ( config , cloud ) <EOL> n . get_client ( ) <EOL> n_client . assert_called_with ( <EOL> region_name = region , <EOL> tenant_name = tenant , <EOL> password = password , <EOL> auth_url = auth_url , <EOL> username = user , <EOL> cacert = cacert , <EOL> insecure = insecure <EOL> ) <EOL> def test_does_not_add_region_if_not_set_in_config ( self , n_client ) : <EOL> cloud = mock . MagicMock ( ) <EOL> config = mock . MagicMock ( ) <EOL> tenant = '<STR_LIT>' <EOL> user = '<STR_LIT:user>' <EOL> auth_url = '<STR_LIT>' <EOL> password = '<STR_LIT:password>' <EOL> insecure = False <EOL> cacert = '<STR_LIT>' <EOL> config . cloud . region = None <EOL> config . cloud . user = user <EOL> config . cloud . tenant = tenant <EOL> config . cloud . auth_url = auth_url <EOL> config . cloud . password = password <EOL> config . cloud . insecure = insecure <EOL> config . cloud . cacert = cacert <EOL> n = neutron . NeutronNetwork ( config , cloud ) <EOL> n . get_client ( ) <EOL> n_client . assert_called_with ( <EOL> tenant_name = tenant , <EOL> password = password , <EOL> auth_url = auth_url , <EOL> username = user , <EOL> cacert = cacert , <EOL> insecure = insecure , <EOL> region_name = None <EOL> ) </s>
