Skip to content

Commit 1a515ac

Browse files
achaussiergeoffreybauduin
authored andcommitted
Add ResourceExpiredError exception (#48)
Signed-off-by: Alexandre Chaussier <alexandre.chaussier@temelio.com>
1 parent 2a0cc19 commit 1a515ac

3 files changed

Lines changed: 10 additions & 0 deletions

File tree

ovh/client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
APIError, NetworkError, InvalidResponse, InvalidRegion, InvalidKey,
6969
ResourceNotFoundError, BadParametersError, ResourceConflictError, HTTPError,
7070
NotGrantedCall, NotCredential, Forbidden, InvalidCredential,
71+
ResourceExpiredError,
7172
)
7273

7374
#: Mapping between OVH API region names and corresponding endpoints
@@ -445,6 +446,9 @@ def call(self, method, path, data=None, need_auth=True):
445446
elif status == 409:
446447
raise ResourceConflictError(json_result.get('message'),
447448
response=result)
449+
elif status == 460:
450+
raise ResourceExpiredError(json_result.get('message'),
451+
response=result)
448452
elif status == 0:
449453
raise NetworkError()
450454
else:

ovh/exceptions.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,6 @@ class NotCredential(APIError):
8484

8585
class Forbidden(APIError):
8686
"""Raised when there is an error from network layer."""
87+
88+
class ResourceExpiredError(APIError):
89+
"""Raised when requested resource expired."""

tests/test_client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
APIError, NetworkError, InvalidResponse, InvalidRegion, ReadOnlyError,
4444
ResourceNotFoundError, BadParametersError, ResourceConflictError, HTTPError,
4545
InvalidKey, InvalidCredential, NotGrantedCall, NotCredential, Forbidden,
46+
ResourceExpiredError,
4647
)
4748

4849
M_ENVIRON = {
@@ -298,6 +299,8 @@ def test_call_no_sign(self, m_req):
298299
self.assertRaises(BadParametersError, api.call, FAKE_METHOD, FAKE_PATH, None, False)
299300
m_res.status_code = 409
300301
self.assertRaises(ResourceConflictError, api.call, FAKE_METHOD, FAKE_PATH, None, False)
302+
m_res.status_code = 460
303+
self.assertRaises(ResourceExpiredError, api.call, FAKE_METHOD, FAKE_PATH, None, False)
301304
m_res.status_code = 0
302305
self.assertRaises(NetworkError, api.call, FAKE_METHOD, FAKE_PATH, None, False)
303306
m_res.status_code = 99

0 commit comments

Comments
 (0)