summaryrefslogtreecommitdiff
path: root/tests/unit/test_gitlab_http_methods.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/test_gitlab_http_methods.py')
-rw-r--r--tests/unit/test_gitlab_http_methods.py42
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