diff options
Diffstat (limited to 'tests/unit/test_gitlab_http_methods.py')
-rw-r--r-- | tests/unit/test_gitlab_http_methods.py | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/tests/unit/test_gitlab_http_methods.py b/tests/unit/test_gitlab_http_methods.py index ba57c31..af78cad 100644 --- a/tests/unit/test_gitlab_http_methods.py +++ b/tests/unit/test_gitlab_http_methods.py @@ -1,3 +1,5 @@ +import warnings + import pytest import requests from httmock import HTTMock, response, urlmatch @@ -22,11 +24,31 @@ def test_http_request(gl): return response(200, content, headers, None, 5, request) with HTTMock(resp_cont): - http_r = gl.http_request("get", "/projects") + http_r = gl._http_request(method="get", path="/projects") http_r.json() assert http_r.status_code == 200 +def test_http_request_deprecated(gl): + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects", method="get") + def resp_cont(url, request): + headers = {"content-type": "application/json"} + content = '[{"name": "project1"}]' + return response(200, content, headers, None, 5, request) + + with warnings.catch_warnings(record=True) as caught_warnings: + with HTTMock(resp_cont): + http_r = gl.http_request(verb="get", path="/projects") + http_r.json() + assert http_r.status_code == 200 + assert len(caught_warnings) == 1 + warning = caught_warnings[0] + assert isinstance(warning.message, DeprecationWarning) + message = str(caught_warnings[0].message) + assert "deprecated" in message + assert "Gitlab.http_request()" in message + + def test_http_request_404(gl): @urlmatch(scheme="http", netloc="localhost", path="/api/v4/not_there", method="get") def resp_cont(url, request): @@ -35,7 +57,7 @@ def test_http_request_404(gl): with HTTMock(resp_cont): with pytest.raises(GitlabHttpError): - gl.http_request("get", "/not_there") + gl._http_request(method="get", path="/not_there") @pytest.mark.parametrize("status_code", [500, 502, 503, 504]) @@ -50,7 +72,7 @@ def test_http_request_with_only_failures(gl, status_code): with HTTMock(resp_cont): with pytest.raises(GitlabHttpError): - gl.http_request("get", "/projects") + gl._http_request(method="get", path="/projects") assert call_count == 1 @@ -74,7 +96,9 @@ def test_http_request_with_retry_on_method_for_transient_failures(gl): ) with HTTMock(resp_cont): - http_r = gl.http_request("get", "/projects", retry_transient_errors=True) + http_r = gl._http_request( + method="get", path="/projects", retry_transient_errors=True + ) assert http_r.status_code == 200 assert call_count == calls_before_success @@ -99,7 +123,7 @@ def test_http_request_with_retry_on_class_for_transient_failures(gl_retry): ) with HTTMock(resp_cont): - http_r = gl_retry.http_request("get", "/projects") + http_r = gl_retry._http_request(method="get", path="/projects") assert http_r.status_code == 200 assert call_count == calls_before_success @@ -118,7 +142,9 @@ def test_http_request_with_retry_on_class_and_method_for_transient_failures(gl_r with HTTMock(resp_cont): with pytest.raises(GitlabHttpError): - gl_retry.http_request("get", "/projects", retry_transient_errors=False) + gl_retry._http_request( + method="get", path="/projects", retry_transient_errors=False + ) assert call_count == 1 @@ -181,7 +207,7 @@ def test_http_request_302_get_does_not_raise(gl): return resp_obj with HTTMock(resp_cont): - gl.http_request(verb=method, path=api_path) + gl._http_request(method=method, path=api_path) def test_http_request_302_put_raises_redirect_error(gl): @@ -203,7 +229,7 @@ def test_http_request_302_put_raises_redirect_error(gl): with HTTMock(resp_cont): with pytest.raises(RedirectError) as exc: - gl.http_request(verb=method, path=api_path) + gl._http_request(method=method, path=api_path) error_message = exc.value.error_message assert "Moved Temporarily" in error_message assert "http://localhost/api/v4/user/status" in error_message |