1
1
# pylint: disable=missing-docstring
2
2
import json
3
+ import os
3
4
import time
4
5
from urllib .parse import parse_qs
5
6
13
14
TEST_ACCESS_TOKEN_1 = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImhlbGxvIiwicm9sZSI6InVzZXIiLCJwZXJtaXNzaW9ucyI6WyJhZG1pbmlzdHJhdG9yIiwiZGVwbG95bWVudF9hZG1pbiJdLCJzdWIiOiJoZWxsbyIsImlzcyI6IkpvaG4iLCJhdWQiOiJEU1giLCJ1aWQiOiI5OTkiLCJpYXQiOjE1NjAyNzcwNTEsImV4cCI6MTU2MDI4MTgxOSwianRpIjoiMDRkMjBiMjUtZWUyZC00MDBmLTg2MjMtOGNkODA3MGI1NDY4In0.cIodB4I6CCcX8vfIImz7Cytux3GpWyObt9Gkur5g1QI'
14
15
TEST_ACCESS_TOKEN_2 = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjIzMDQ5ODE1MWMyMTRiNzg4ZGQ5N2YyMmI4NTQxMGE1In0.eyJ1c2VybmFtZSI6ImR1bW15Iiwicm9sZSI6IkFkbWluIiwicGVybWlzc2lvbnMiOlsiYWRtaW5pc3RyYXRvciIsIm1hbmFnZV9jYXRhbG9nIl0sInN1YiI6ImFkbWluIiwiaXNzIjoic3NzIiwiYXVkIjoic3NzIiwidWlkIjoic3NzIiwiaWF0IjozNjAwLCJleHAiOjE2MjgwMDcwODF9.zvUDpgqWIWs7S1CuKv40ERw1IZ5FqSFqQXsrwZJyfRM'
15
16
TEST_REFRESH_TOKEN = 'Xj7Gle500MachEOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImhlbGxvIiwicm9sZSI6InVzZXIiLCJwZXJtaXNzaW9ucyI6WyJhZG1pbmlzdHJhdG9yIiwiZGVwbG95bWVudF9hZG1pbiJdLCJzdWIiOiJoZWxsbyIsImlzcyI6IkpvaG4iLCJhdWQiOiJEU1giLCJ1aWQiOiI5OTkiLCJpYXQiOjE1NjAyNzcwNTEsImV4cCI6MTU2MDI4MTgxOSwianRpIjoiMDRkMjBiMjUtZWUyZC00MDBmLTg2MjMtOGNkODA3MGI1NDY4In0.cIodB4I6CCcX8vfIImz7Cytux3GpWyObt9Gkur5g1QI'
16
- MOCK_CR_TOKEN_FILE = './resources/cr-token.txt'
17
17
MOCK_IAM_PROFILE_NAME = 'iam-user-123'
18
18
MOCK_CLIENT_ID = 'client-id-1'
19
19
MOCK_CLIENT_SECRET = 'client-secret-1'
20
20
21
+ cr_token_file = os .path .join (os .path .dirname (__file__ ), '../resources/cr-token.txt' )
22
+
21
23
22
24
def _get_current_time () -> int :
23
25
return int (time .time ())
@@ -81,7 +83,7 @@ def test_request_token_auth_default():
81
83
iam_url = "https://iam.cloud.ibm.com/identity/token"
82
84
83
85
token_manager = ContainerTokenManager (
84
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
86
+ cr_token_filename = cr_token_file ,
85
87
iam_profile_name = MOCK_IAM_PROFILE_NAME ,
86
88
)
87
89
token_manager .request_token ()
@@ -96,7 +98,7 @@ def test_request_token_auth_default():
96
98
def test_request_token_auth_in_ctor ():
97
99
default_auth_header = 'Basic Yng6Yng='
98
100
token_manager = ContainerTokenManager (
99
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
101
+ cr_token_filename = cr_token_file ,
100
102
iam_profile_name = MOCK_IAM_PROFILE_NAME ,
101
103
client_id = 'foo' ,
102
104
client_secret = 'bar' )
@@ -113,7 +115,7 @@ def test_request_token_auth_in_ctor():
113
115
def test_request_token_auth_in_ctor_with_scope ():
114
116
default_auth_header = 'Basic Yng6Yng='
115
117
token_manager = ContainerTokenManager (
116
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
118
+ cr_token_filename = cr_token_file ,
117
119
iam_profile_name = MOCK_IAM_PROFILE_NAME ,
118
120
client_id = 'foo' ,
119
121
client_secret = 'bar' ,
@@ -129,7 +131,7 @@ def test_request_token_auth_in_ctor_with_scope():
129
131
130
132
def test_retrieve_cr_token_success ():
131
133
token_manager = ContainerTokenManager (
132
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
134
+ cr_token_filename = cr_token_file ,
133
135
)
134
136
135
137
cr_token = token_manager .retrieve_cr_token ()
@@ -151,7 +153,7 @@ def test_retrieve_cr_token_success_fail():
151
153
@mock_iam_response
152
154
def test_get_token_success ():
153
155
token_manager = ContainerTokenManager (
154
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
156
+ cr_token_filename = cr_token_file ,
155
157
iam_profile_name = MOCK_IAM_PROFILE_NAME ,
156
158
)
157
159
@@ -182,7 +184,7 @@ def test_get_token_success():
182
184
@mock_iam_response
183
185
def test_request_token_success ():
184
186
token_manager = ContainerTokenManager (
185
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
187
+ cr_token_filename = cr_token_file ,
186
188
iam_profile_name = MOCK_IAM_PROFILE_NAME ,
187
189
)
188
190
@@ -193,7 +195,7 @@ def test_request_token_success():
193
195
@mock_iam_response
194
196
def test_authenticate_success ():
195
197
authenticator = ContainerAuthenticator (
196
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
198
+ cr_token_filename = cr_token_file ,
197
199
iam_profile_name = 'iam-user-123' )
198
200
199
201
request = {'headers' : {}}
@@ -234,7 +236,7 @@ def test_authenticate_fail_no_cr_token():
234
236
@mock_iam_response
235
237
def test_authenticate_fail_iam ():
236
238
authenticator = ContainerAuthenticator (
237
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
239
+ cr_token_filename = cr_token_file ,
238
240
iam_profile_name = 'iam-user-123' ,
239
241
scope = 'status-bad-request' )
240
242
@@ -249,7 +251,7 @@ def test_authenticate_fail_iam():
249
251
@mock_iam_response
250
252
def test_client_id_and_secret ():
251
253
token_manager = ContainerTokenManager (
252
- cr_token_filename = MOCK_CR_TOKEN_FILE ,
254
+ cr_token_filename = cr_token_file ,
253
255
iam_profile_name = MOCK_IAM_PROFILE_NAME ,
254
256
)
255
257
0 commit comments