summaryrefslogtreecommitdiff
path: root/tests/unit/test_gitlab_auth.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2021-05-26 21:04:31 -0700
committerJohn L. Villalovos <john@sodarock.com>2021-05-26 21:04:31 -0700
commit1ac0722bc086b18c070132a0eb53747bbdf2ce0a (patch)
treedb9dbb8da13907eb6ee293adcaf6c9bdb1dd7d52 /tests/unit/test_gitlab_auth.py
parent90ecf2f91129ffa0cfb5db58300fbd11638d4ecc (diff)
downloadgitlab-1ac0722bc086b18c070132a0eb53747bbdf2ce0a.tar.gz
chore: move 'gitlab/tests/' dir to 'tests/unit/'
Move the 'gitlab/tests/' directory to 'tests/unit/' so we have all the tests located under the 'tests/' directory.
Diffstat (limited to 'tests/unit/test_gitlab_auth.py')
-rw-r--r--tests/unit/test_gitlab_auth.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/unit/test_gitlab_auth.py b/tests/unit/test_gitlab_auth.py
new file mode 100644
index 0000000..314fbed
--- /dev/null
+++ b/tests/unit/test_gitlab_auth.py
@@ -0,0 +1,85 @@
+import pytest
+import requests
+
+from gitlab import Gitlab
+
+
+def test_invalid_auth_args():
+ with pytest.raises(ValueError):
+ Gitlab(
+ "http://localhost",
+ api_version="4",
+ private_token="private_token",
+ oauth_token="bearer",
+ )
+ with pytest.raises(ValueError):
+ Gitlab(
+ "http://localhost",
+ api_version="4",
+ oauth_token="bearer",
+ http_username="foo",
+ http_password="bar",
+ )
+ with pytest.raises(ValueError):
+ Gitlab(
+ "http://localhost",
+ api_version="4",
+ private_token="private_token",
+ http_password="bar",
+ )
+ with pytest.raises(ValueError):
+ Gitlab(
+ "http://localhost",
+ api_version="4",
+ private_token="private_token",
+ http_username="foo",
+ )
+
+
+def test_private_token_auth():
+ gl = Gitlab("http://localhost", private_token="private_token", api_version="4")
+ assert gl.private_token == "private_token"
+ assert gl.oauth_token is None
+ assert gl.job_token is None
+ assert gl._http_auth is None
+ assert "Authorization" not in gl.headers
+ assert gl.headers["PRIVATE-TOKEN"] == "private_token"
+ assert "JOB-TOKEN" not in gl.headers
+
+
+def test_oauth_token_auth():
+ gl = Gitlab("http://localhost", oauth_token="oauth_token", api_version="4")
+ assert gl.private_token is None
+ assert gl.oauth_token == "oauth_token"
+ assert gl.job_token is None
+ assert gl._http_auth is None
+ assert gl.headers["Authorization"] == "Bearer oauth_token"
+ assert "PRIVATE-TOKEN" not in gl.headers
+ assert "JOB-TOKEN" not in gl.headers
+
+
+def test_job_token_auth():
+ gl = Gitlab("http://localhost", job_token="CI_JOB_TOKEN", api_version="4")
+ assert gl.private_token is None
+ assert gl.oauth_token is None
+ assert gl.job_token == "CI_JOB_TOKEN"
+ assert gl._http_auth is None
+ assert "Authorization" not in gl.headers
+ assert "PRIVATE-TOKEN" not in gl.headers
+ assert gl.headers["JOB-TOKEN"] == "CI_JOB_TOKEN"
+
+
+def test_http_auth():
+ gl = Gitlab(
+ "http://localhost",
+ private_token="private_token",
+ http_username="foo",
+ http_password="bar",
+ api_version="4",
+ )
+ assert gl.private_token == "private_token"
+ assert gl.oauth_token is None
+ assert gl.job_token is None
+ assert isinstance(gl._http_auth, requests.auth.HTTPBasicAuth)
+ assert gl.headers["PRIVATE-TOKEN"] == "private_token"
+ assert "Authorization" not in gl.headers