def test_should_fail_when_request_method_returns_unknown_error_when_raise_an_uncontrolled_exception(
        method, given_any_url):
    with requests_mock.Mocker() as m:
        m.register_uri(method, given_any_url, exc=InterruptedError)
        result = Request.execute(given_any_url, method)
        assert_failure(result, value_is_instance_of=UnknownRequestError)
        assert result.value.status_code == 500
def test_should_fail_when_request_method_raise_unauthorized_error(
        method, given_any_url):
    with requests_mock.Mocker() as m:
        m.register_uri(method, given_any_url, status_code=401)
        result = Request.execute(given_any_url, method)
        assert_failure(result, value_is_instance_of=UnauthorizedRequestError)
        assert result.value.status_code == 401
def test_should_fail_when_request_method_returns_unknown_error(
        method, status_code, given_any_url):
    with requests_mock.Mocker() as m:
        m.register_uri(method, given_any_url, status_code=status_code)
        result = Request.execute(given_any_url, method)
        assert_failure(result, value_is_instance_of=UnknownRequestError)
        assert result.value.status_code == status_code
def test_should_fail_when_request_method_returns_connection_error(
        method, given_any_url):
    with requests_mock.Mocker() as m:
        m.register_uri(method,
                       given_any_url,
                       exc=requests.exceptions.ConnectionError)
        result = Request.execute(given_any_url, method)
        assert_failure(result, value_is_instance_of=ConnectionRequestError)
        assert result.value.status_code == 503
def test_should_fail_when_request_method_returns_missing_schema_error(
        method, given_any_url):
    with requests_mock.Mocker() as m:
        m.register_uri(method,
                       given_any_url,
                       exc=requests.exceptions.MissingSchema)
        result = Request.execute(given_any_url, method)
        assert_failure(result, value_is_instance_of=MissingSchemaRequestError)
        assert result.value.status_code == 422