def test_create_f5ccclerror_nomsg(): """Test the creation of F5CcclError without message.""" e = exceptions.F5CcclError() assert e assert not e.msg assert "{}".format(e) == "F5CcclError"
def read_yaml_or_json(target): """Read json or yaml, return a dict.""" if target.lower().endswith('.json'): return read_json(target) if target.lower().endswith('.yaml') or target.lower().endswith('.yml'): return read_yaml(target) raise cccl_exc.F5CcclError('CCCL API schema json or yaml file expected.')
def read(self, bigip): u"""Retrieve a BIG-IP resource from a BIG-IP. Returns a resource object with attributes for instance on a BIG-IP system. Args: bigip (f5.bigip.ManagementRoot): F5 SDK session object Returns: resource retrieved from BIG-IP Raises: F5CcclResourceNotFoundError: resouce cannot be loaded because it does not exist on the BIG-IP """ LOGGER.info("Loading %s: /%s/%s", self.classname(), self.partition, self.name) try: obj = self._uri_path(bigip).load( name=urlquote(self.name), partition=self.partition) return obj except iControlUnexpectedHTTPError as err: self._handle_http_error(err) except F5SDKError as err: LOGGER.error("Load FAILED: /%s/%s", self.partition, self.name) raise cccl_exc.F5CcclError(str(err))
def test_create_f5ccclerror_msg(): """Test the creation of F5CcclError with message.""" error_msg = "Test CCCL Error" e = exceptions.F5CcclError(error_msg) assert e assert e.msg == error_msg assert "{}".format(e) == "F5CcclError - Test CCCL Error"
def _handle_http_error(error): u"""Extract the error code and reraise a CCCL Error.""" code = error.response.status_code if code == 404: raise cccl_exc.F5CcclResourceNotFoundError(str(error)) elif code == 409: raise cccl_exc.F5CcclResourceConflictError(str(error)) elif code >= 400 and code < 500: raise cccl_exc.F5CcclResourceRequestError(str(error)) else: raise cccl_exc.F5CcclError(str(error))
def _handle_http_error(self, error): u"""Extract the error code and reraise a CCCL Error.""" code = error.response.status_code LOGGER.error("HTTP error(%d): CCCL resource(%s) /%s/%s.", code, self.classname(), self.partition, self.name) if code == 404: raise cccl_exc.F5CcclResourceNotFoundError(str(error)) elif code == 409: raise cccl_exc.F5CcclResourceConflictError(str(error)) elif code >= 400 and code < 500: raise cccl_exc.F5CcclResourceRequestError(str(error)) else: raise cccl_exc.F5CcclError(str(error))
def f(): raise exceptions.F5CcclError()