Derivate most of the RestClient's exception from the failureException
Hopefully it will help to mitigate the "catch exception and raise" a
failureException type logic from the code.
Change-Id: Ic1f9a35c2333238696d72a6038e6d47e47a7d889
diff --git a/tempest/common/rest_client.py b/tempest/common/rest_client.py
index 5710f4c..8db2010 100644
--- a/tempest/common/rest_client.py
+++ b/tempest/common/rest_client.py
@@ -305,7 +305,7 @@
if resp.status >= 400:
resp_body = self._parse_resp(resp_body)
self._log(req_url, body, resp, resp_body)
- raise exceptions.TempestException(str(resp.status))
+ raise exceptions.RestClientException(str(resp.status))
return resp, resp_body
diff --git a/tempest/exceptions.py b/tempest/exceptions.py
index 178c2f2..de22688 100644
--- a/tempest/exceptions.py
+++ b/tempest/exceptions.py
@@ -15,6 +15,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import unittest2 as unittest
+
class TempestException(Exception):
"""
@@ -27,6 +29,7 @@
message = "An unknown exception occurred"
def __init__(self, *args, **kwargs):
+ super(TempestException, self).__init__()
try:
self._error_string = self.message % kwargs
except Exception:
@@ -49,11 +52,16 @@
message = "Invalid Configuration"
-class NotFound(TempestException):
+class RestClientException(TempestException,
+ unittest.TestCase.failureException):
+ pass
+
+
+class NotFound(RestClientException):
message = "Object not found"
-class Unauthorized(TempestException):
+class Unauthorized(RestClientException):
message = 'Unauthorized'
@@ -78,11 +86,11 @@
message = "Volume %(volume_id)s failed to build and is in ERROR status"
-class BadRequest(TempestException):
+class BadRequest(RestClientException):
message = "Bad request"
-class AuthenticationFailure(TempestException):
+class AuthenticationFailure(RestClientException):
message = ("Authentication with user %(user)s and password "
"%(password)s failed")
@@ -108,7 +116,7 @@
message = "Got identity error"
-class Duplicate(TempestException):
+class Duplicate(RestClientException):
message = "An object with that identifier already exists"
@@ -135,7 +143,7 @@
message = "%(num)d cleanUp operation failed"
-class RFCViolation(TempestException):
+class RFCViolation(RestClientException):
message = "RFC Violation"