Esempio n. 1
0
    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'))]))
Esempio n. 2
0
    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'))]))
Esempio n. 3
0
 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()), [])
Esempio n. 4
0
 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()), [])
Esempio n. 5
0
    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()), [])
Esempio n. 6
0
    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()), [])
Esempio n. 7
0
    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()), [])
Esempio n. 8
0
    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")),
                ]
            ),
        )
Esempio n. 9
0
    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()), [])