-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #390 from Limmen/management
unit_test management_util
- Loading branch information
Showing
1 changed file
with
80 additions
and
0 deletions.
There are no files selected for viewing
80 changes: 80 additions & 0 deletions
80
simulation-system/libs/csle-common/tests/test_management_util.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
import csle_common.constants.constants as constants | ||
from csle_common.util.management_util import ManagementUtil | ||
from unittest.mock import patch | ||
|
||
class TestManagementUtilSuite: | ||
""" | ||
Test suite for management util | ||
""" | ||
|
||
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.list_management_users") | ||
@patch("bcrypt.gensalt") | ||
@patch("bcrypt.hashpw") | ||
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.save_management_user") | ||
def test_create_default_management_admin_account( | ||
self, mock_save_management_user, mock_hashpw, mock_gensalt, mock_list_management_users | ||
) -> None: | ||
""" | ||
Test the method that creates the default management admin account | ||
:param mock_save_management_user: mock_save_management_user | ||
:param mock_hashpw: mock_hashpw | ||
:param mock_gensalt: mock_gensalt | ||
:param mock_list_management_users: mock_list_management_users | ||
:return: None | ||
""" | ||
mock_list_management_users.return_value = [] | ||
mock_salt = b"salt" | ||
mock_gensalt.return_value = mock_salt | ||
mock_hash = b"hashed_password" | ||
mock_hashpw.return_value = mock_hash | ||
|
||
constants.CSLE_ADMIN.MANAGEMENT_USER = "admin" | ||
constants.CSLE_ADMIN.MANAGEMENT_PW = "password" | ||
constants.CSLE_ADMIN.MANAGEMENT_FIRST_NAME = "first" | ||
constants.CSLE_ADMIN.MANAGEMENT_LAST_NAME = "last" | ||
constants.CSLE_ADMIN.MANAGEMENT_ORGANIZATION = "organization" | ||
constants.CSLE_ADMIN.MANAGEMENT_EMAIL = "[email protected]" | ||
|
||
ManagementUtil.create_default_management_admin_account() | ||
mock_list_management_users.assert_called_once() | ||
mock_gensalt.assert_called_once() | ||
mock_hashpw.assert_called_once_with(constants.CSLE_ADMIN.MANAGEMENT_PW.encode("utf-8"), mock_salt) | ||
mock_save_management_user.assert_called_once() | ||
|
||
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.list_management_users") | ||
@patch("bcrypt.gensalt") | ||
@patch("bcrypt.hashpw") | ||
@patch("csle_common.metastore.metastore_facade.MetastoreFacade.save_management_user") | ||
def test_create_default_management_guest_account( | ||
self, mock_save_management_user, mock_hashpw, mock_gensalt, mock_list_management_users | ||
) -> None: | ||
""" | ||
Test the method that creates the default management guest account | ||
:param mock_save_management_user: mock_save_management_user | ||
:param mock_hashpw: mock_hashpw | ||
:param mock_gensalt: mock_gensalt | ||
:param mock_list_management_users: mock_list_management_users | ||
:return: None | ||
""" | ||
mock_list_management_users.return_value = [] | ||
mock_salt = b"salt" | ||
mock_gensalt.return_value = mock_salt | ||
mock_hash = b"hashed_password" | ||
mock_hashpw.return_value = mock_hash | ||
|
||
constants.CSLE_GUEST.MANAGEMENT_USER = "user" | ||
constants.CSLE_GUEST.MANAGEMENT_PW = "password" | ||
constants.CSLE_GUEST.MANAGEMENT_FIRST_NAME = "guest_first" | ||
constants.CSLE_GUEST.MANAGEMENT_LAST_NAME = "guest_last" | ||
constants.CSLE_GUEST.MANAGEMENT_ORGANIZATION = "guest_organization" | ||
constants.CSLE_GUEST.MANAGEMENT_EMAIL = "[email protected]" | ||
|
||
ManagementUtil.create_default_management_guest_account() | ||
mock_list_management_users.assert_called_once() | ||
mock_gensalt.assert_called_once() | ||
mock_hashpw.assert_called_once_with(constants.CSLE_GUEST.MANAGEMENT_PW.encode("utf-8"), mock_salt) | ||
mock_save_management_user.assert_called_once() |