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_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_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
def test_should_fail_with_expected_values_when_use_request(
        headers, content, json, expected_headers, expected_content,
        given_any_url):
    with requests_mock.Mocker() as m:
        m.register_uri(
            "GET",
            given_any_url,
            headers=headers,
            content=content,
            json=json,
            status_code=400,
        )
        result = Request.get(given_any_url)
        assert_failure(result, value_is_instance_of=BadRequestError)
        assert result.value.status_code == 400
        assert result.value.headers == expected_headers
        assert result.value.content == expected_content
def test_should_success_when_request_delete(given_any_url):
    with requests_mock.Mocker() as m:
        m.delete(given_any_url)
        result = Request.delete(given_any_url)
        assert_success(result)