summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <f.joffrey@gmail.com>2016-01-25 10:31:14 -0800
committerJoffrey F <f.joffrey@gmail.com>2016-01-25 10:31:14 -0800
commita909e2e5ee62eec7ba681177ab292a58a99fd9ec (patch)
treea85e30e6c810df0aadcb8d47e2c0755836662c81
parentce8a02f7137bbfdee7e03b48bb50f5a789f7937a (diff)
parent403d271cc2e954a34c8c01dea32097fe8549cbe6 (diff)
downloaddocker-py-a909e2e5ee62eec7ba681177ab292a58a99fd9ec.tar.gz
Merge pull request #907 from aanand/raise-for-status-connect-disconnect
Raise exceptions for API errors on network connect/disconnect
-rw-r--r--docker/api/network.py6
-rw-r--r--tests/integration/network_test.py6
2 files changed, 10 insertions, 2 deletions
diff --git a/docker/api/network.py b/docker/api/network.py
index 3f9a161..d9a6128 100644
--- a/docker/api/network.py
+++ b/docker/api/network.py
@@ -57,11 +57,13 @@ class NetworkApiMixin(object):
},
}
url = self._url("/networks/{0}/connect", net_id)
- self._post_json(url, data=data)
+ res = self._post_json(url, data=data)
+ self._raise_for_status(res)
@check_resource
@minimum_version('1.21')
def disconnect_container_from_network(self, container, net_id):
data = {"container": container}
url = self._url("/networks/{0}/disconnect", net_id)
- self._post_json(url, data=data)
+ res = self._post_json(url, data=data)
+ self._raise_for_status(res)
diff --git a/tests/integration/network_test.py b/tests/integration/network_test.py
index 51cc53a..a379bbf 100644
--- a/tests/integration/network_test.py
+++ b/tests/integration/network_test.py
@@ -117,10 +117,16 @@ class TestNetworks(helpers.BaseTestCase):
list(network_data['Containers'].keys()),
[container['Id']])
+ with pytest.raises(docker.errors.APIError):
+ self.client.connect_container_to_network(container, net_id)
+
self.client.disconnect_container_from_network(container, net_id)
network_data = self.client.inspect_network(net_id)
self.assertFalse(network_data.get('Containers'))
+ with pytest.raises(docker.errors.APIError):
+ self.client.disconnect_container_from_network(container, net_id)
+
@requires_api_version('1.22')
def test_connect_with_aliases(self):
net_name, net_id = self.create_network()