From 403d271cc2e954a34c8c01dea32097fe8549cbe6 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 25 Jan 2016 18:19:32 +0000 Subject: [PATCH] Raise exceptions for API errors on network connect/disconnect Signed-off-by: Aanand Prasad --- docker/api/network.py | 6 ++++-- tests/integration/network_test.py | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docker/api/network.py b/docker/api/network.py index 3f9a161f..d9a6128b 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 51cc53ad..a379bbf2 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()