summaryrefslogtreecommitdiff
path: root/tests/integration/models_networks_test.py
blob: 105dcc594abacf88a8aaaa9c0245392c9c259753 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import docker
from .. import helpers
from .base import BaseIntegrationTest, TEST_API_VERSION


class ImageCollectionTest(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 ImageTest(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.disconnect(container)
        assert network.containers == []
        assert client.networks.get(network.id).containers == []