summaryrefslogtreecommitdiff
path: root/tests/integration/models_nodes_test.py
blob: 9fd16593aca57667ec6e0818aea81c4d81eefc43 (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
import unittest

import docker

from .. import helpers


class NodesTest(unittest.TestCase):
    def setUp(self):
        helpers.force_leave_swarm(docker.from_env())

    def tearDown(self):
        helpers.force_leave_swarm(docker.from_env())

    def test_list_get_update(self):
        client = docker.from_env()
        client.swarm.init(listen_addr=helpers.swarm_listen_addr())
        nodes = client.nodes.list()
        assert len(nodes) == 1
        assert nodes[0].attrs['Spec']['Role'] == 'manager'

        node = client.nodes.get(nodes[0].id)
        assert node.id == nodes[0].id
        assert node.attrs['Spec']['Role'] == 'manager'
        assert node.version > 0

        node = client.nodes.list()[0]
        assert not node.attrs['Spec'].get('Labels')
        node.update({
            'Availability': 'active',
            'Name': 'node-name',
            'Role': 'manager',
            'Labels': {'foo': 'bar'}
        })
        node.reload()
        assert node.attrs['Spec']['Labels'] == {'foo': 'bar'}