@@ -0,0 +1,1237 @@
+from unittest import mock%0A%0Aimport pytest%0Afrom requests.exceptions import (%0A    Timeout, ConnectionError as RequestsConnectionError%0A)%0A%0Afrom simple_rest_client.decorators import (%0A    handle_request_error, validate_response%0A)%0Afrom simple_rest_client.exceptions import ClientError, ServerError%0Afrom simple_rest_client.models import Response%0A%0A%0A@pytest.mark.parametrize('status_code', range(500, 506))%0Adef test_validate_response_server_error(status_code):%0A    response = Response(%0A        url='http://example.com', method='GET', body=None, headers=%7B%7D,%0A        status_code=status_code%0A    )%0A    with pytest.raises(ServerError):%0A        validate_response(response)%0A%0A%0A@pytest.mark.parametrize('status_code', range(400, 417))%0Adef test_validate_response_client_error(status_code):%0A    response = Response(%0A        url='http://example.com', method='GET', body=None, headers=%7B%7D,%0A        status_code=status_code%0A    )%0A    with pytest.raises(ClientError):%0A        validate_response(response)%0A%0A%0A@pytest.mark.parametrize('side_effect', (Timeout, RequestsConnectionError))%0Adef test_handle_request_error_exceptions(side_effect):%0A    wrapped = mock.Mock(side_effect=side_effect)%0A    with pytest.raises(ServerError):%0A        handle_request_error(wrapped)()%0A

Add tests for decorators