1515
1616from mas .devops .users import MASUserUtils
1717
18+ SUPERUSER_USERNAME = "superuser_username"
19+ SUPERUSER_PASSWORD = "superuser_password" # pragma: allowlist secret
20+
21+
22+ ADMINDASHBOARD_CA_CRT = "admindashboard-ca"
23+ COREAPI_CA_CRT = "coreapi-ca"
24+ MANAGE_CA_CRT = "manage-ca"
25+ MANAGE_TLS_CRT = "manage-tls-crt"
26+ MANAGE_TLS_KEY = "manage-tls-key"
1827
1928TOKEN = "TOKEN"
2029MAS_INSTANCE_ID = "inst1"
3140
3241
3342def get_secret (name , namespace ):
34- if name .endswith ("-credentials-superuser" ):
43+ if name == f"{ MAS_INSTANCE_ID } -credentials-superuser" :
44+ data = {
45+ "username" : base64 .b64encode (SUPERUSER_USERNAME .encode ("utf-8" )),
46+ "password" : base64 .b64encode (SUPERUSER_PASSWORD .encode ("utf-8" )),
47+ }
48+
49+ if name == f"{ MAS_INSTANCE_ID } -admindashboard-cert-internal" :
3550 data = {
36- "username" : base64 .b64encode ("hello" .encode ("utf-8" )),
37- "password" : base64 .b64encode ("world" .encode ("utf-8" )),
51+ "ca.crt" : base64 .b64encode (ADMINDASHBOARD_CA_CRT .encode ("utf-8" ))
3852 }
3953
40- if name . endswith ( "-admindashboard -cert-internal") :
54+ if name == f" { MAS_INSTANCE_ID } -coreapi -cert-internal" :
4155 data = {
42- "ca.crt" : base64 .b64encode ("admindashboard-ca" .encode ("utf-8" ))
56+ "ca.crt" : base64 .b64encode (COREAPI_CA_CRT .encode ("utf-8" ))
4357 }
4458
45- if name . endswith ( "-coreapi-cert-internal" ) :
59+ if name == f" { MAS_INSTANCE_ID } -internal-manage-tls" :
4660 data = {
47- "ca.crt" : base64 .b64encode ("coreapi-ca" .encode ("utf-8" ))
61+ "ca.crt" : base64 .b64encode (MANAGE_CA_CRT .encode ("utf-8" )),
62+ "tls.crt" : base64 .b64encode (MANAGE_TLS_CRT .encode ("utf-8" )),
63+ "tls.key" : base64 .b64encode (MANAGE_TLS_KEY .encode ("utf-8" )),
4864 }
4965
5066 return MagicMock (
@@ -58,7 +74,7 @@ def mock_v1_secrets():
5874 mock_DynamicClient = mock_DynamicClientCls .return_value
5975 mock_v1_secrets = mock_DynamicClient .resources .get .return_value
6076 mock_v1_secrets .get .side_effect = get_secret
61- yield
77+ yield mock_v1_secrets
6278
6379
6480@fixture
@@ -101,18 +117,85 @@ def mock_get_user_500(requests_mock, user_id):
101117 )
102118
103119
120+ def test_mas_superuser_credentials (user_utils , mock_v1_secrets ):
121+ assert mock_v1_secrets .get .call_count == 0
122+ assert user_utils .mas_superuser_credentials == {"username" : SUPERUSER_USERNAME , "password" : SUPERUSER_PASSWORD }
123+ assert mock_v1_secrets .get .call_count == 1
124+ # verify caching is working
125+ assert user_utils .mas_superuser_credentials == {"username" : SUPERUSER_USERNAME , "password" : SUPERUSER_PASSWORD }
126+ assert mock_v1_secrets .get .call_count == 1
127+
128+
129+ def test_admin_internal_tls_secret (user_utils , mock_v1_secrets ):
130+ assert mock_v1_secrets .get .call_count == 0
131+ assert user_utils .admin_internal_tls_secret .data ["ca.crt" ] == base64 .b64encode (ADMINDASHBOARD_CA_CRT .encode ('utf-8' ))
132+ assert mock_v1_secrets .get .call_count == 1
133+ assert user_utils .admin_internal_tls_secret .data ["ca.crt" ] == base64 .b64encode (ADMINDASHBOARD_CA_CRT .encode ('utf-8' ))
134+ assert mock_v1_secrets .get .call_count == 1
135+
136+
137+ def test_admin_internal_ca_pem_file_path ():
138+ pass
139+ # TODO
140+
141+
142+ def test_core_internal_tls_secret (user_utils , mock_v1_secrets ):
143+ assert mock_v1_secrets .get .call_count == 0
144+ assert user_utils .core_internal_tls_secret .data ["ca.crt" ] == base64 .b64encode (COREAPI_CA_CRT .encode ('utf-8' ))
145+ assert mock_v1_secrets .get .call_count == 1
146+ assert user_utils .core_internal_tls_secret .data ["ca.crt" ] == base64 .b64encode (COREAPI_CA_CRT .encode ('utf-8' ))
147+ assert mock_v1_secrets .get .call_count == 1
148+
149+
150+ def test_core_internal_ca_pem_file_path ():
151+ pass
152+ # TODO
153+
154+
155+ def test_superuser_auth_token ():
156+ pass
157+ # TODO
158+
159+
160+ def test_manage_internal_tls_secret (user_utils , mock_v1_secrets ):
161+ assert mock_v1_secrets .get .call_count == 0
162+ assert user_utils .manage_internal_tls_secret .data ["ca.crt" ] == base64 .b64encode (MANAGE_CA_CRT .encode ('utf-8' ))
163+ assert user_utils .manage_internal_tls_secret .data ["tls.crt" ] == base64 .b64encode (MANAGE_TLS_CRT .encode ('utf-8' ))
164+ assert user_utils .manage_internal_tls_secret .data ["tls.key" ] == base64 .b64encode (MANAGE_TLS_KEY .encode ('utf-8' ))
165+ assert mock_v1_secrets .get .call_count == 1
166+ assert user_utils .manage_internal_tls_secret .data ["ca.crt" ] == base64 .b64encode (MANAGE_CA_CRT .encode ('utf-8' ))
167+ assert user_utils .manage_internal_tls_secret .data ["tls.crt" ] == base64 .b64encode (MANAGE_TLS_CRT .encode ('utf-8' ))
168+ assert user_utils .manage_internal_tls_secret .data ["tls.key" ] == base64 .b64encode (MANAGE_TLS_KEY .encode ('utf-8' ))
169+ assert mock_v1_secrets .get .call_count == 1
170+
171+
172+ def test_manage_internal_client_pem_file_path ():
173+ pass
174+ # TODO
175+
176+
177+ def test_manage_internal_ca_pem_file_path ():
178+ pass
179+ # TODO
180+
181+
182+ def test_manage_maxadmin_api_key ():
183+ pass
184+ # TODO
185+
186+
187+ def test_mas_workspace_application_ids ():
188+ pass
189+ # TODO
190+
191+
104192def test_get_user_exists (user_utils , requests_mock ):
105193 user_id = "user1"
106194 get = mock_get_user_200 (requests_mock , user_id )
107195 assert user_utils .get_user (user_id ) == {"id" : user_id , "displayName" : user_id }
108196 assert get .call_count == 1
109197
110198
111- def test_mas_superuser_credentials ():
112- pass
113- # TODO this and tests for other properties
114-
115-
116199def test_get_user_notfound (user_utils , requests_mock ):
117200 user_id = "user1"
118201 get = mock_get_user_404 (requests_mock , user_id )
0 commit comments