| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent bec2094 commit 2bb16fa
5 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,28 @@ | |||
| 1 | + ###################### | ||
| 2 | + Personal Access Tokens | ||
| 3 | + ###################### | ||
| 4 | + | ||
| 5 | + Get a list of personal access tokens | ||
| 6 | + | ||
| 7 | + References | ||
| 8 | + ---------- | ||
| 9 | + | ||
| 10 | + * v4 API: | ||
| 11 | + | ||
| 12 | + + :class:`gitlab.v4.objects.PersonalAccessToken` | ||
| 13 | + + :class:`gitlab.v4.objects.PersonalAcessTokenManager` | ||
| 14 | + + :attr:`gitlab.Gitlab.personal_access_tokens` | ||
| 15 | + | ||
| 16 | + * GitLab API: https://docs.gitlab.com/ee/api/personal_access_tokens.html | ||
| 17 | + | ||
| 18 | + Examples | ||
| 19 | + -------- | ||
| 20 | + | ||
| 21 | + List personal access tokens:: | ||
| 22 | + | ||
| 23 | + access_tokens = gl.personal_access_tokens.list() | ||
| 24 | + print(access_tokens[0].name) | ||
| 25 | + | ||
| 26 | + List personal access tokens from other user_id (admin only):: | ||
| 27 | + | ||
| 28 | + access_tokens = gl.personal_access_tokens.list(user_id=25) | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -143,6 +143,7 @@ def __init__( | |||
| 143 | 143 | self.user_activities = objects.UserActivitiesManager(self) | |
| 144 | 144 | self.applications = objects.ApplicationManager(self) | |
| 145 | 145 | self.variables = objects.VariableManager(self) | |
| 146 | + self.personal_access_tokens = objects.PersonalAccessTokenManager(self) | ||
| 146 | 147 | ||
| 147 | 148 | def __enter__(self): | |
| 148 | 149 | return self | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,46 @@ | |||
| 1 | + """ | ||
| 2 | + GitLab API: https://docs.gitlab.com/ee/api/personal_access_tokens.html | ||
| 3 | + """ | ||
| 4 | + | ||
| 5 | + import pytest | ||
| 6 | + import responses | ||
| 7 | + | ||
| 8 | + | ||
| 9 | + @pytest.fixture | ||
| 10 | + def resp_list_personal_access_token(): | ||
| 11 | + content = [ | ||
| 12 | + { | ||
| 13 | + "id": 4, | ||
| 14 | + "name": "Test Token", | ||
| 15 | + "revoked": False, | ||
| 16 | + "created_at": "2020-07-23T14:31:47.729Z", | ||
| 17 | + "scopes": ["api"], | ||
| 18 | + "active": True, | ||
| 19 | + "user_id": 24, | ||
| 20 | + "expires_at": None, | ||
| 21 | + } | ||
| 22 | + ] | ||
| 23 | + | ||
| 24 | + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: | ||
| 25 | + rsps.add( | ||
| 26 | + method=responses.GET, | ||
| 27 | + url="http://localhost/api/v4/personal_access_tokens", | ||
| 28 | + json=content, | ||
| 29 | + content_type="application/json", | ||
| 30 | + status=200, | ||
| 31 | + ) | ||
| 32 | + yield rsps | ||
| 33 | + | ||
| 34 | + | ||
| 35 | + def test_list_personal_access_tokens(gl, resp_list_personal_access_token): | ||
| 36 | + access_tokens = gl.personal_access_tokens.list() | ||
| 37 | + assert len(access_tokens) == 1 | ||
| 38 | + assert access_tokens[0].revoked is False | ||
| 39 | + assert access_tokens[0].name == "Test Token" | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + def test_list_personal_access_tokens_filter(gl, resp_list_personal_access_token): | ||
| 43 | + access_tokens = gl.personal_access_tokens.list(user_id=24) | ||
| 44 | + assert len(access_tokens) == 1 | ||
| 45 | + assert access_tokens[0].revoked is False | ||
| 46 | + assert access_tokens[0].user_id == 24 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -69,6 +69,7 @@ | |||
| 69 | 69 | from .users import * | |
| 70 | 70 | from .variables import * | |
| 71 | 71 | from .wikis import * | |
| 72 | + from .personal_access_tokens import * | ||
| 72 | 73 | ||
| 73 | 74 | ||
| 74 | 75 | # TODO: deprecate these in favor of gitlab.const.* | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,18 @@ | |||
| 1 | + from gitlab.base import * # noqa | ||
| 2 | + from gitlab.mixins import * # noqa | ||
| 3 | + | ||
| 4 | + | ||
| 5 | + __all__ = [ | ||
| 6 | + "PersonalAccessToken", | ||
| 7 | + "PersonalAccessTokenManager", | ||
| 8 | + ] | ||
| 9 | + | ||
| 10 | + | ||
| 11 | + class PersonalAccessToken(RESTObject): | ||
| 12 | + pass | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + class PersonalAccessTokenManager(ListMixin, RESTManager): | ||
| 16 | + _path = "/personal_access_tokens" | ||
| 17 | + _obj_cls = PersonalAccessToken | ||
| 18 | + _list_filters = ("user_id",) | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments