Skip to content

Commit f288fcc

Browse files
authored
Merge pull request #390 from Limmen/management
unit_test management_util
2 parents 16245a8 + 5a010d4 commit f288fcc

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import csle_common.constants.constants as constants
2+
from csle_common.util.management_util import ManagementUtil
3+
from unittest.mock import patch
4+
5+
class TestManagementUtilSuite:
6+
"""
7+
Test suite for management util
8+
"""
9+
10+
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.list_management_users")
11+
@patch("bcrypt.gensalt")
12+
@patch("bcrypt.hashpw")
13+
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.save_management_user")
14+
def test_create_default_management_admin_account(
15+
self, mock_save_management_user, mock_hashpw, mock_gensalt, mock_list_management_users
16+
) -> None:
17+
"""
18+
Test the method that creates the default management admin account
19+
20+
:param mock_save_management_user: mock_save_management_user
21+
:param mock_hashpw: mock_hashpw
22+
:param mock_gensalt: mock_gensalt
23+
:param mock_list_management_users: mock_list_management_users
24+
25+
:return: None
26+
"""
27+
mock_list_management_users.return_value = []
28+
mock_salt = b"salt"
29+
mock_gensalt.return_value = mock_salt
30+
mock_hash = b"hashed_password"
31+
mock_hashpw.return_value = mock_hash
32+
33+
constants.CSLE_ADMIN.MANAGEMENT_USER = "admin"
34+
constants.CSLE_ADMIN.MANAGEMENT_PW = "password"
35+
constants.CSLE_ADMIN.MANAGEMENT_FIRST_NAME = "first"
36+
constants.CSLE_ADMIN.MANAGEMENT_LAST_NAME = "last"
37+
constants.CSLE_ADMIN.MANAGEMENT_ORGANIZATION = "organization"
38+
constants.CSLE_ADMIN.MANAGEMENT_EMAIL = "[email protected]"
39+
40+
ManagementUtil.create_default_management_admin_account()
41+
mock_list_management_users.assert_called_once()
42+
mock_gensalt.assert_called_once()
43+
mock_hashpw.assert_called_once_with(constants.CSLE_ADMIN.MANAGEMENT_PW.encode("utf-8"), mock_salt)
44+
mock_save_management_user.assert_called_once()
45+
46+
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.list_management_users")
47+
@patch("bcrypt.gensalt")
48+
@patch("bcrypt.hashpw")
49+
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.save_management_user")
50+
def test_create_default_management_guest_account(
51+
self, mock_save_management_user, mock_hashpw, mock_gensalt, mock_list_management_users
52+
) -> None:
53+
"""
54+
Test the method that creates the default management guest account
55+
56+
:param mock_save_management_user: mock_save_management_user
57+
:param mock_hashpw: mock_hashpw
58+
:param mock_gensalt: mock_gensalt
59+
:param mock_list_management_users: mock_list_management_users
60+
61+
:return: None
62+
"""
63+
mock_list_management_users.return_value = []
64+
mock_salt = b"salt"
65+
mock_gensalt.return_value = mock_salt
66+
mock_hash = b"hashed_password"
67+
mock_hashpw.return_value = mock_hash
68+
69+
constants.CSLE_GUEST.MANAGEMENT_USER = "user"
70+
constants.CSLE_GUEST.MANAGEMENT_PW = "password"
71+
constants.CSLE_GUEST.MANAGEMENT_FIRST_NAME = "guest_first"
72+
constants.CSLE_GUEST.MANAGEMENT_LAST_NAME = "guest_last"
73+
constants.CSLE_GUEST.MANAGEMENT_ORGANIZATION = "guest_organization"
74+
constants.CSLE_GUEST.MANAGEMENT_EMAIL = "[email protected]"
75+
76+
ManagementUtil.create_default_management_guest_account()
77+
mock_list_management_users.assert_called_once()
78+
mock_gensalt.assert_called_once()
79+
mock_hashpw.assert_called_once_with(constants.CSLE_GUEST.MANAGEMENT_PW.encode("utf-8"), mock_salt)
80+
mock_save_management_user.assert_called_once()

0 commit comments

Comments
 (0)