summaryrefslogtreecommitdiff
path: root/tests/unit/models_networks_test.py
blob: 58c9fce6695442f1a2b35ed611fabe639a4a8959 (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 unittest

from .fake_api import FAKE_NETWORK_ID, FAKE_CONTAINER_ID
from .fake_api_client import make_fake_client


class NetworkCollectionTest(unittest.TestCase):

    def test_create(self):
        client = make_fake_client()
        network = client.networks.create("foobar", labels={'foo': 'bar'})
        assert network.id == FAKE_NETWORK_ID
        assert client.api.inspect_network.called_once_with(FAKE_NETWORK_ID)
        assert client.api.create_network.called_once_with(
            "foobar",
            labels={'foo': 'bar'}
        )

    def test_get(self):
        client = make_fake_client()
        network = client.networks.get(FAKE_NETWORK_ID)
        assert network.id == FAKE_NETWORK_ID
        assert client.api.inspect_network.called_once_with(FAKE_NETWORK_ID)

    def test_list(self):
        client = make_fake_client()
        networks = client.networks.list()
        assert networks[0].id == FAKE_NETWORK_ID
        assert client.api.networks.called_once_with()

        client = make_fake_client()
        client.networks.list(ids=["abc"])
        assert client.api.networks.called_once_with(ids=["abc"])

        client = make_fake_client()
        client.networks.list(names=["foobar"])
        assert client.api.networks.called_once_with(names=["foobar"])


class NetworkTest(unittest.TestCase):

    def test_connect(self):
        client = make_fake_client()
        network = client.networks.get(FAKE_NETWORK_ID)
        network.connect(FAKE_CONTAINER_ID)
        assert client.api.connect_container_to_network.called_once_with(
            FAKE_CONTAINER_ID,
            FAKE_NETWORK_ID
        )

    def test_disconnect(self):
        client = make_fake_client()
        network = client.networks.get(FAKE_NETWORK_ID)
        network.disconnect(FAKE_CONTAINER_ID)
        assert client.api.disconnect_container_from_network.called_once_with(
            FAKE_CONTAINER_ID,
            FAKE_NETWORK_ID
        )

    def test_remove(self):
        client = make_fake_client()
        network = client.networks.get(FAKE_NETWORK_ID)
        network.remove()
        assert client.api.remove_network.called_once_with(FAKE_NETWORK_ID)