Beispiel #1
0
    def test_container_remove(self, m_netns, m_client,  m_get_container_id,
                              m_enforce_root):
        """
        Test for container_remove of calicoctl container command
        """
        # Set up mock objects
        m_get_container_id.return_value = 666
        ipv4_nets = set()
        ipv4_nets.add(IPNetwork(IPAddress('1.1.1.1')))
        ipv6_nets = set()
        m_endpoint = Mock(spec=Endpoint)
        m_endpoint.ipv4_nets = ipv4_nets
        m_endpoint.ipv6_nets = ipv6_nets
        m_endpoint.endpoint_id = 12
        m_endpoint.name = "eth1234"
        ippool = IPPool('1.1.1.1/24')
        m_client.get_endpoint.return_value = m_endpoint
        m_client.get_ip_pools.return_value = [ippool]

        # Call method under test
        container.container_remove('container1')

        # Assert
        m_enforce_root.assert_called_once_with()
        m_get_container_id.assert_called_once_with('container1')
        m_client.get_endpoint.assert_called_once_with(
            hostname=utils.hostname,
            orchestrator_id=utils.DOCKER_ORCHESTRATOR_ID,
            workload_id=666
        )
        self.assertEqual(m_client.unassign_address.call_count, 1)
        m_netns.remove_veth.assert_called_once_with("eth1234")
        m_client.remove_workload.assert_called_once_with(
            utils.hostname, utils.DOCKER_ORCHESTRATOR_ID, 666)
Beispiel #2
0
    def test_container_remove(self, m_netns, m_client, m_get_container_id,
                              m_enforce_root):
        """
        Test for container_remove of calicoctl container command
        """
        # Set up mock objects
        m_get_container_id.return_value = 666
        ipv4_nets = set()
        ipv4_nets.add(IPNetwork(IPAddress('1.1.1.1')))
        ipv6_nets = set()
        m_endpoint = Mock(spec=Endpoint)
        m_endpoint.ipv4_nets = ipv4_nets
        m_endpoint.ipv6_nets = ipv6_nets
        m_endpoint.endpoint_id = 12
        m_endpoint.name = "eth1234"
        ippool = IPPool('1.1.1.1/24')
        m_client.get_endpoint.return_value = m_endpoint
        m_client.get_ip_pools.return_value = [ippool]

        # Call method under test
        container.container_remove('container1')

        # Assert
        m_enforce_root.assert_called_once_with()
        m_get_container_id.assert_called_once_with('container1')
        m_client.get_endpoint.assert_called_once_with(
            hostname=utils.hostname,
            orchestrator_id=utils.ORCHESTRATOR_ID,
            workload_id=666)
        self.assertEqual(m_client.unassign_address.call_count, 1)
        m_netns.remove_veth.assert_called_once_with("eth1234")
        m_client.remove_workload.assert_called_once_with(
            utils.hostname, utils.ORCHESTRATOR_ID, 666)
Beispiel #3
0
    def test_container_remove(self, m_netns, m_client, m_enforce_root):
        """
        Test for container_remove of calicoctl container command
        """
        # Set up mock objects
        ipv4_nets = set()
        ipv4_nets.add(IPNetwork(IPAddress('1.1.1.1')))
        ipv6_nets = set()
        m_endpoint = Mock(spec=Endpoint)
        m_endpoint.ipv4_nets = ipv4_nets
        m_endpoint.ipv6_nets = ipv6_nets
        m_endpoint.endpoint_id = 12
        m_endpoint.name = "eth1234"
        m_client.get_endpoints.return_value = [m_endpoint]

        # Call method under test
        container.container_remove('container1')

        # Assert
        m_enforce_root.assert_called_once_with()
        m_client.get_endpoints.assert_called_once_with(
            hostname=utils.hostname,
            orchestrator_id=utils.DOCKER_ORCHESTRATOR_ID,
            workload_id='container1'
        )
        self.assertEqual(m_client.release_ips.call_count, 1)
        m_netns.remove_veth.assert_called_once_with("eth1234")
        m_client.remove_workload.assert_called_once_with(
            utils.hostname, utils.DOCKER_ORCHESTRATOR_ID, "container1")
Beispiel #4
0
    def test_container_remove_with_lookup(self, m_netns, m_client,
                                          m_get_workload_id, m_enforce_root):
        """
        Test for container_remove of calicoctl container command
        """
        # Set up mock objects
        m_get_workload_id.return_value = "long_id"
        m_client.get_endpoints.return_value = []

        # Call method under test
        container.container_remove('container1')

        # Assert
        m_enforce_root.assert_called_once_with()
        self.assertEqual(m_client.release_ips.call_count, 0)
        self.assertEqual(m_netns.remove_veth.call_count, 0)
        self.assertEqual(m_client.get_endpoints.call_args_list,
                         [call(hostname=utils.hostname, workload_id='container1', orchestrator_id='docker'),
                          call(hostname=utils.hostname, workload_id='long_id', orchestrator_id='docker')])
        m_client.remove_workload.assert_called_once_with(
            utils.hostname, utils.DOCKER_ORCHESTRATOR_ID, "long_id")