Skip to content

Commit fcfba5b

Browse files
committed
unit tests
1 parent f9ff747 commit fcfba5b

File tree

1 file changed

+96
-13
lines changed

1 file changed

+96
-13
lines changed

test/src/test_users.py

Lines changed: 96 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515

1616
from 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

1928
TOKEN = "TOKEN"
2029
MAS_INSTANCE_ID = "inst1"
@@ -31,20 +40,27 @@
3140

3241

3342
def 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+
104192
def 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-
116199
def 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

Comments
 (0)