mirror of https://github.com/docker/docker-py.git
Merge pull request #1524 from alex-dr/fix-apierror-status
Fix APIError status_code property for client/server errors
This commit is contained in:
commit
cb68acbaae
|
@ -59,7 +59,7 @@ class APIError(requests.exceptions.HTTPError, DockerException):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def status_code(self):
|
def status_code(self):
|
||||||
if self.response:
|
if self.response is not None:
|
||||||
return self.response.status_code
|
return self.response.status_code
|
||||||
|
|
||||||
def is_client_error(self):
|
def is_client_error(self):
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
from docker.errors import (APIError, DockerException,
|
from docker.errors import (APIError, DockerException,
|
||||||
create_unexpected_kwargs_error)
|
create_unexpected_kwargs_error)
|
||||||
|
|
||||||
|
@ -11,6 +13,69 @@ class APIErrorTest(unittest.TestCase):
|
||||||
except DockerException:
|
except DockerException:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def test_status_code_200(self):
|
||||||
|
"""The status_code property is present with 200 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 200
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.status_code == 200
|
||||||
|
|
||||||
|
def test_status_code_400(self):
|
||||||
|
"""The status_code property is present with 400 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 400
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.status_code == 400
|
||||||
|
|
||||||
|
def test_status_code_500(self):
|
||||||
|
"""The status_code property is present with 500 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 500
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.status_code == 500
|
||||||
|
|
||||||
|
def test_is_server_error_200(self):
|
||||||
|
"""Report not server error on 200 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 200
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.is_server_error() is False
|
||||||
|
|
||||||
|
def test_is_server_error_300(self):
|
||||||
|
"""Report not server error on 300 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 300
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.is_server_error() is False
|
||||||
|
|
||||||
|
def test_is_server_error_400(self):
|
||||||
|
"""Report not server error on 400 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 400
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.is_server_error() is False
|
||||||
|
|
||||||
|
def test_is_server_error_500(self):
|
||||||
|
"""Report server error on 500 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 500
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.is_server_error() is True
|
||||||
|
|
||||||
|
def test_is_client_error_500(self):
|
||||||
|
"""Report not client error on 500 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 500
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.is_client_error() is False
|
||||||
|
|
||||||
|
def test_is_client_error_400(self):
|
||||||
|
"""Report client error on 400 response."""
|
||||||
|
resp = requests.Response()
|
||||||
|
resp.status_code = 400
|
||||||
|
err = APIError('', response=resp)
|
||||||
|
assert err.is_client_error() is True
|
||||||
|
|
||||||
|
|
||||||
class CreateUnexpectedKwargsErrorTest(unittest.TestCase):
|
class CreateUnexpectedKwargsErrorTest(unittest.TestCase):
|
||||||
def test_create_unexpected_kwargs_error_single(self):
|
def test_create_unexpected_kwargs_error_single(self):
|
||||||
|
|
Loading…
Reference in New Issue