| import docker |
| from .. import helpers |
| from .base import BaseIntegrationTest, TEST_API_VERSION |
| |
| |
| class NetworkCollectionTest(BaseIntegrationTest): |
| |
| def test_create(self): |
| client = docker.from_env(version=TEST_API_VERSION) |
| name = helpers.random_name() |
| network = client.networks.create(name, labels={'foo': 'bar'}) |
| self.tmp_networks.append(network.id) |
| assert network.name == name |
| assert network.attrs['Labels']['foo'] == "bar" |
| |
| def test_get(self): |
| client = docker.from_env(version=TEST_API_VERSION) |
| name = helpers.random_name() |
| network_id = client.networks.create(name).id |
| self.tmp_networks.append(network_id) |
| network = client.networks.get(network_id) |
| assert network.name == name |
| |
| def test_list_remove(self): |
| client = docker.from_env(version=TEST_API_VERSION) |
| name = helpers.random_name() |
| network = client.networks.create(name) |
| self.tmp_networks.append(network.id) |
| assert network.id in [n.id for n in client.networks.list()] |
| assert network.id not in [ |
| n.id for n in |
| client.networks.list(ids=["fdhjklfdfdshjkfds"]) |
| ] |
| assert network.id in [ |
| n.id for n in |
| client.networks.list(ids=[network.id]) |
| ] |
| assert network.id not in [ |
| n.id for n in |
| client.networks.list(names=["fdshjklfdsjhkl"]) |
| ] |
| assert network.id in [ |
| n.id for n in |
| client.networks.list(names=[name]) |
| ] |
| network.remove() |
| assert network.id not in [n.id for n in client.networks.list()] |
| |
| |
| class NetworkTest(BaseIntegrationTest): |
| |
| def test_connect_disconnect(self): |
| client = docker.from_env(version=TEST_API_VERSION) |
| network = client.networks.create(helpers.random_name()) |
| self.tmp_networks.append(network.id) |
| container = client.containers.create("alpine", "sleep 300") |
| self.tmp_containers.append(container.id) |
| assert network.containers == [] |
| network.connect(container) |
| container.start() |
| assert client.networks.get(network.id).containers == [container] |
| network_containers = list( |
| c |
| for net in client.networks.list(ids=[network.id], greedy=True) |
| for c in net.containers |
| ) |
| assert network_containers == [container] |
| network.disconnect(container) |
| assert network.containers == [] |
| assert client.networks.get(network.id).containers == [] |