def test_returns_flat_list_of_rcv3nodes(self): """ All the nodes returned are in a flat list. """ dispatcher = self.get_dispatcher([ (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools').intent, (None, [{'id': str(i)} for i in range(2)])), (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools/0/nodes').intent, (None, [{'id': "0node{0}".format(i), 'cloud_server': {'id': '0server{0}'.format(i)}} for i in range(2)])), (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools/1/nodes').intent, (None, [{'id': "1node{0}".format(i), 'cloud_server': {'id': '1server{0}'.format(i)}} for i in range(2)])), ]) self.assertEqual( sorted(sync_perform(dispatcher, get_rcv3_contents())), sorted( [RCv3Node(node_id='0node0', cloud_server_id='0server0', description=RCv3Description(lb_id='0')), RCv3Node(node_id='0node1', cloud_server_id='0server1', description=RCv3Description(lb_id='0')), RCv3Node(node_id='1node0', cloud_server_id='1server0', description=RCv3Description(lb_id='1')), RCv3Node(node_id='1node1', cloud_server_id='1server1', description=RCv3Description(lb_id='1'))]))
def test_returns_flat_list_of_rcv3nodes(self): """ All the nodes returned are in a flat list. """ dispatcher = self.get_dispatcher([ (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools').intent, (None, [{'id': str(i)} for i in range(2)])), (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools/0/nodes').intent, (None, [{'id': "0node{0}".format(i), 'cloud_server': {'id': '0server{0}'.format(i)}} for i in range(2)])), (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools/1/nodes').intent, (None, [{'id': "1node{0}".format(i), 'cloud_server': {'id': '1server{0}'.format(i)}} for i in range(2)])), ]) self.assertEqual( sorted(sync_perform(dispatcher, get_rcv3_contents())), sorted( [RCv3Node(node_id='0node0', cloud_server_id='0server0', description=RCv3Description(lb_id='0')), RCv3Node(node_id='0node1', cloud_server_id='0server1', description=RCv3Description(lb_id='0')), RCv3Node(node_id='1node0', cloud_server_id='1server0', description=RCv3Description(lb_id='1')), RCv3Node(node_id='1node1', cloud_server_id='1server1', description=RCv3Description(lb_id='1'))]))
def test_no_lb_pools_returns_no_nodes(self): """ If there are no load balancer pools, there are no nodes. """ dispatcher = self.get_dispatcher( [(service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools").intent, (None, []))] ) self.assertEqual(sync_perform(dispatcher, get_rcv3_contents()), [])
def test_no_lb_pools_returns_no_nodes(self): """ If there are no load balancer pools, there are no nodes. """ dispatcher = self.get_dispatcher([ (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools').intent, (None, [])) ]) self.assertEqual(sync_perform(dispatcher, get_rcv3_contents()), [])
def test_rackconnect_not_supported_on_tenant(self): """ If RackConnectV3 is not supported, return no nodes. """ def no_endpoint(intent): raise NoSuchEndpoint(service_name='RackConnect', region='DFW') dispatcher = self.get_dispatcher([ (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools').intent, no_endpoint) ]) self.assertEqual(sync_perform(dispatcher, get_rcv3_contents()), [])
def test_rackconnect_not_supported_on_tenant(self): """ If RackConnectV3 is not supported, return no nodes. """ def no_endpoint(intent): raise NoSuchEndpoint(service_name="RackConnect", region="DFW") dispatcher = self.get_dispatcher( [(service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools").intent, no_endpoint)] ) self.assertEqual(sync_perform(dispatcher, get_rcv3_contents()), [])
def test_no_nodes_on_lbs_no_nodes(self): """ If there are no nodes on each of the load balancer pools, there are no nodes returned overall. """ dispatcher = self.get_dispatcher( [ ( service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools").intent, (None, [{"id": str(i)} for i in range(2)]), ), (service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools/0/nodes").intent, (None, [])), (service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools/1/nodes").intent, (None, [])), ] ) self.assertEqual(sync_perform(dispatcher, get_rcv3_contents()), [])
def test_returns_flat_list_of_rcv3nodes(self): """ All the nodes returned are in a flat list. """ dispatcher = self.get_dispatcher( [ ( service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools").intent, (None, [{"id": str(i)} for i in range(2)]), ), ( service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools/0/nodes").intent, ( None, [ {"id": "0node{0}".format(i), "cloud_server": {"id": "0server{0}".format(i)}} for i in range(2) ], ), ), ( service_request(ServiceType.RACKCONNECT_V3, "GET", "load_balancer_pools/1/nodes").intent, ( None, [ {"id": "1node{0}".format(i), "cloud_server": {"id": "1server{0}".format(i)}} for i in range(2) ], ), ), ] ) self.assertEqual( sorted(sync_perform(dispatcher, get_rcv3_contents())), sorted( [ RCv3Node(node_id="0node0", cloud_server_id="0server0", description=RCv3Description(lb_id="0")), RCv3Node(node_id="0node1", cloud_server_id="0server1", description=RCv3Description(lb_id="0")), RCv3Node(node_id="1node0", cloud_server_id="1server0", description=RCv3Description(lb_id="1")), RCv3Node(node_id="1node1", cloud_server_id="1server1", description=RCv3Description(lb_id="1")), ] ), )
def test_no_nodes_on_lbs_no_nodes(self): """ If there are no nodes on each of the load balancer pools, there are no nodes returned overall. """ dispatcher = self.get_dispatcher([ (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools').intent, (None, [{ 'id': str(i) } for i in range(2)])), (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools/0/nodes').intent, (None, [])), (service_request(ServiceType.RACKCONNECT_V3, 'GET', 'load_balancer_pools/1/nodes').intent, (None, [])) ]) self.assertEqual(sync_perform(dispatcher, get_rcv3_contents()), [])