1313
1414token_url = "http://localhost/api/v4/personal_access_tokens"
1515single_token_url = f"{ token_url } /{ token_id } "
16+ self_token_url = f"{ token_url } /self"
1617user_token_url = f"http://localhost/api/v4/users/{ user_id } /personal_access_tokens"
1718
1819content = {
@@ -41,15 +42,47 @@ def resp_create_user_personal_access_token():
4142
4243
4344@pytest .fixture
44- def resp_personal_access_token ( no_content ):
45- with responses .RequestsMock (assert_all_requests_are_fired = False )as rsps :
45+ def resp_list_personal_access_tokens ( ):
46+ with responses .RequestsMock ()as rsps :
4647rsps .add (
4748method = responses .GET ,
4849url = token_url ,
4950json = [content ],
5051content_type = "application/json" ,
5152status = 200 ,
5253 )
54+ yield rsps
55+
56+
57+ @pytest .fixture
58+ def resp_get_personal_access_token ():
59+ with responses .RequestsMock ()as rsps :
60+ rsps .add (
61+ method = responses .GET ,
62+ url = single_token_url ,
63+ json = content ,
64+ content_type = "application/json" ,
65+ status = 200 ,
66+ )
67+ yield rsps
68+
69+
70+ @pytest .fixture
71+ def resp_get_personal_access_token_self ():
72+ with responses .RequestsMock ()as rsps :
73+ rsps .add (
74+ method = responses .GET ,
75+ url = self_token_url ,
76+ json = content ,
77+ content_type = "application/json" ,
78+ status = 200 ,
79+ )
80+ yield rsps
81+
82+
83+ @pytest .fixture
84+ def resp_delete_personal_access_token (no_content ):
85+ with responses .RequestsMock ()as rsps :
5386rsps .add (
5487method = responses .DELETE ,
5588url = single_token_url ,
@@ -69,26 +102,38 @@ def test_create_personal_access_token(gl, resp_create_user_personal_access_token
69102assert access_token .name == token_name
70103
71104
72- def test_list_personal_access_tokens (gl ,resp_personal_access_token ):
105+ def test_list_personal_access_tokens (gl ,resp_list_personal_access_tokens ):
73106access_tokens = gl .personal_access_tokens .list ()
74107assert len (access_tokens )== 1
75108assert access_tokens [0 ].revoked is False
76109assert access_tokens [0 ].name == token_name
77110
78111
79- def test_list_personal_access_tokens_filter (gl ,resp_personal_access_token ):
112+ def test_list_personal_access_tokens_filter (gl ,resp_list_personal_access_tokens ):
80113access_tokens = gl .personal_access_tokens .list (user_id = user_id )
81114assert len (access_tokens )== 1
82115assert access_tokens [0 ].revoked is False
83116assert access_tokens [0 ].user_id == user_id
84117
85118
86- def test_revoke_personal_access_token (gl ,resp_personal_access_token ):
87- access_token = gl .personal_access_tokens .list (user_id = user_id )[0 ]
119+ def test_get_personal_access_token (gl ,resp_get_personal_access_token ):
120+ access_token = gl .personal_access_tokens .get (token_id )
121+
122+ assert access_token .revoked is False
123+ assert access_token .user_id == user_id
124+
125+
126+ def test_get_personal_access_token_self (gl ,resp_get_personal_access_token_self ):
127+ access_token = gl .personal_access_tokens .get ("self" )
128+
129+ assert access_token .revoked is False
130+ assert access_token .user_id == user_id
131+
132+
133+ def test_delete_personal_access_token (gl ,resp_delete_personal_access_token ):
134+ access_token = gl .personal_access_tokens .get (token_id ,lazy = True )
88135access_token .delete ()
89- assert resp_personal_access_token .assert_call_count (single_token_url ,1 )
90136
91137
92- def test_revoke_personal_access_token_by_id (gl ,resp_personal_access_token ):
138+ def test_revoke_personal_access_token_by_id (gl ,resp_delete_personal_access_token ):
93139gl .personal_access_tokens .delete (token_id )
94- assert resp_personal_access_token .assert_call_count (single_token_url ,1 )