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"
Exemple #2
0
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.')
Exemple #3
0
    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"
Exemple #5
0
 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))
Exemple #6
0
 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()