Unit test modifications

This commit is contained in:
Shreya 2021-03-10 12:44:51 +05:30
parent 72a88c81a3
commit 9167aa6460
1 changed files with 29 additions and 104 deletions

View File

@ -1,16 +1,13 @@
import pytest import pytest
from infection_monkey.post_breach.actions.users_custom_pba import ( from infection_monkey.post_breach.actions.users_custom_pba import (
DEFAULT_LINUX_COMMAND, DEFAULT_WINDOWS_COMMAND, DIR_CHANGE_LINUX, DIR_CHANGE_LINUX, DIR_CHANGE_WINDOWS, UsersPBA)
DIR_CHANGE_WINDOWS, UsersPBA)
MONKEY_DIR_PATH = "/dir/to/monkey/" MONKEY_DIR_PATH = "/dir/to/monkey/"
CUSTOM_LINUX_CMD_SEPARATE = "command-for-linux" CUSTOM_LINUX_CMD = "command-for-linux"
CUSTOM_LINUX_FILENAME = "filename-for-linux" CUSTOM_LINUX_FILENAME = "filename-for-linux"
CUSTOM_LINUX_CMD_RELATED = f"command-with-{CUSTOM_LINUX_FILENAME}" CUSTOM_WINDOWS_CMD = "command-for-windows"
CUSTOM_WINDOWS_CMD_SEPARATE = "command-for-windows"
CUSTOM_WINDOWS_FILENAME = "filename-for-windows" CUSTOM_WINDOWS_FILENAME = "filename-for-windows"
CUSTOM_WINDOWS_CMD_RELATED = f"command-with-{CUSTOM_WINDOWS_FILENAME}"
@pytest.fixture @pytest.fixture
@ -38,12 +35,12 @@ def set_os_windows(monkeypatch):
@pytest.fixture @pytest.fixture
def mock_UsersPBA_linux_custom_file_and_cmd_separate( def mock_UsersPBA_linux_custom_file_and_cmd(
set_os_linux, fake_monkey_dir_path, monkeypatch set_os_linux, fake_monkey_dir_path, monkeypatch
): ):
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.custom_PBA_linux_cmd", "infection_monkey.config.WormConfiguration.custom_PBA_linux_cmd",
CUSTOM_LINUX_CMD_SEPARATE, CUSTOM_LINUX_CMD,
) )
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.PBA_linux_filename", "infection_monkey.config.WormConfiguration.PBA_linux_filename",
@ -52,27 +49,20 @@ def mock_UsersPBA_linux_custom_file_and_cmd_separate(
return UsersPBA() return UsersPBA()
def test_command_list_linux_custom_file_and_cmd_separate( def test_command_linux_custom_file_and_cmd(
mock_UsersPBA_linux_custom_file_and_cmd_separate, mock_UsersPBA_linux_custom_file_and_cmd,
): ):
expected_command_list = [ expected_command = f"cd {MONKEY_DIR_PATH} ; {CUSTOM_LINUX_CMD}"
f"cd {MONKEY_DIR_PATH} ; {CUSTOM_LINUX_CMD_SEPARATE}", assert mock_UsersPBA_linux_custom_file_and_cmd.command == expected_command
f"chmod +x {MONKEY_DIR_PATH}{CUSTOM_LINUX_FILENAME} ; {MONKEY_DIR_PATH}{CUSTOM_LINUX_FILENAME} ; " +
f"rm {MONKEY_DIR_PATH}{CUSTOM_LINUX_FILENAME}",
]
assert (
mock_UsersPBA_linux_custom_file_and_cmd_separate.command_list
== expected_command_list
)
@pytest.fixture @pytest.fixture
def mock_UsersPBA_windows_custom_file_and_cmd_separate( def mock_UsersPBA_windows_custom_file_and_cmd(
set_os_windows, fake_monkey_dir_path, monkeypatch set_os_windows, fake_monkey_dir_path, monkeypatch
): ):
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.custom_PBA_windows_cmd", "infection_monkey.config.WormConfiguration.custom_PBA_windows_cmd",
CUSTOM_WINDOWS_CMD_SEPARATE, CUSTOM_WINDOWS_CMD,
) )
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.PBA_windows_filename", "infection_monkey.config.WormConfiguration.PBA_windows_filename",
@ -81,70 +71,11 @@ def mock_UsersPBA_windows_custom_file_and_cmd_separate(
return UsersPBA() return UsersPBA()
def test_command_list_windows_custom_file_and_cmd_separate( def test_command_windows_custom_file_and_cmd(
mock_UsersPBA_windows_custom_file_and_cmd_separate, mock_UsersPBA_windows_custom_file_and_cmd,
): ):
expected_command_list = [ expected_command = f"cd {MONKEY_DIR_PATH} & {CUSTOM_WINDOWS_CMD}"
f"cd {MONKEY_DIR_PATH} & {CUSTOM_WINDOWS_CMD_SEPARATE}", assert mock_UsersPBA_windows_custom_file_and_cmd.command == expected_command
f"{MONKEY_DIR_PATH}{CUSTOM_WINDOWS_FILENAME} & del {MONKEY_DIR_PATH}{CUSTOM_WINDOWS_FILENAME}",
]
assert (
mock_UsersPBA_windows_custom_file_and_cmd_separate.command_list
== expected_command_list
)
@pytest.fixture
def mock_UsersPBA_linux_custom_file_and_cmd_related(
set_os_linux, fake_monkey_dir_path, monkeypatch
):
monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.custom_PBA_linux_cmd",
CUSTOM_LINUX_CMD_RELATED,
)
monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.PBA_linux_filename",
CUSTOM_LINUX_FILENAME,
)
return UsersPBA()
def test_command_list_linux_custom_file_and_cmd_related(
mock_UsersPBA_linux_custom_file_and_cmd_related,
):
expected_command_list = [f"cd {MONKEY_DIR_PATH} ; {CUSTOM_LINUX_CMD_RELATED}"]
assert (
mock_UsersPBA_linux_custom_file_and_cmd_related.command_list
== expected_command_list
)
@pytest.fixture
def mock_UsersPBA_windows_custom_file_and_cmd_related(
set_os_windows, fake_monkey_dir_path, monkeypatch
):
monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.custom_PBA_windows_cmd",
CUSTOM_WINDOWS_CMD_RELATED,
)
monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.PBA_windows_filename",
CUSTOM_WINDOWS_FILENAME,
)
return UsersPBA()
def test_command_list_windows_custom_file_and_cmd_related(
mock_UsersPBA_windows_custom_file_and_cmd_related,
):
expected_command_list = [
f"cd {MONKEY_DIR_PATH} & {CUSTOM_WINDOWS_CMD_RELATED}",
]
assert (
mock_UsersPBA_windows_custom_file_and_cmd_related.command_list
== expected_command_list
)
@pytest.fixture @pytest.fixture
@ -160,13 +91,9 @@ def mock_UsersPBA_linux_custom_file(set_os_linux, fake_monkey_dir_path, monkeypa
return UsersPBA() return UsersPBA()
def test_command_list_linux_custom_file(mock_UsersPBA_linux_custom_file): def test_command_linux_custom_file(mock_UsersPBA_linux_custom_file):
expected_command_list = [ expected_command = ""
f"chmod +x {MONKEY_DIR_PATH}{CUSTOM_LINUX_FILENAME} ; {MONKEY_DIR_PATH}{CUSTOM_LINUX_FILENAME} ; " + assert mock_UsersPBA_linux_custom_file.command == expected_command
f"rm {MONKEY_DIR_PATH}{CUSTOM_LINUX_FILENAME}"
]
assert mock_UsersPBA_linux_custom_file.command_list == expected_command_list
@pytest.fixture @pytest.fixture
@ -184,11 +111,9 @@ def mock_UsersPBA_windows_custom_file(
return UsersPBA() return UsersPBA()
def test_command_list_windows_custom_file(mock_UsersPBA_windows_custom_file): def test_command_windows_custom_file(mock_UsersPBA_windows_custom_file):
expected_command_list = [ expected_command = ""
f"{MONKEY_DIR_PATH}{CUSTOM_WINDOWS_FILENAME} & del {MONKEY_DIR_PATH}{CUSTOM_WINDOWS_FILENAME}", assert mock_UsersPBA_windows_custom_file.command == expected_command
]
assert mock_UsersPBA_windows_custom_file.command_list == expected_command_list
@pytest.fixture @pytest.fixture
@ -196,7 +121,7 @@ def mock_UsersPBA_linux_custom_cmd(set_os_linux, fake_monkey_dir_path, monkeypat
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.custom_PBA_linux_cmd", "infection_monkey.config.WormConfiguration.custom_PBA_linux_cmd",
CUSTOM_LINUX_CMD_SEPARATE, CUSTOM_LINUX_CMD,
) )
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.PBA_linux_filename", None "infection_monkey.config.WormConfiguration.PBA_linux_filename", None
@ -204,9 +129,9 @@ def mock_UsersPBA_linux_custom_cmd(set_os_linux, fake_monkey_dir_path, monkeypat
return UsersPBA() return UsersPBA()
def test_command_list_linux_custom_cmd(mock_UsersPBA_linux_custom_cmd): def test_command_linux_custom_cmd(mock_UsersPBA_linux_custom_cmd):
expected_command_list = [CUSTOM_LINUX_CMD_SEPARATE] expected_command = CUSTOM_LINUX_CMD
assert mock_UsersPBA_linux_custom_cmd.command_list == expected_command_list assert mock_UsersPBA_linux_custom_cmd.command == expected_command
@pytest.fixture @pytest.fixture
@ -214,7 +139,7 @@ def mock_UsersPBA_windows_custom_cmd(set_os_windows, fake_monkey_dir_path, monke
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.custom_PBA_windows_cmd", "infection_monkey.config.WormConfiguration.custom_PBA_windows_cmd",
CUSTOM_WINDOWS_CMD_SEPARATE, CUSTOM_WINDOWS_CMD,
) )
monkeypatch.setattr( monkeypatch.setattr(
"infection_monkey.config.WormConfiguration.PBA_windows_filename", None "infection_monkey.config.WormConfiguration.PBA_windows_filename", None
@ -222,6 +147,6 @@ def mock_UsersPBA_windows_custom_cmd(set_os_windows, fake_monkey_dir_path, monke
return UsersPBA() return UsersPBA()
def test_command_list_windows_custom_cmd(mock_UsersPBA_windows_custom_cmd): def test_command_windows_custom_cmd(mock_UsersPBA_windows_custom_cmd):
expected_command_list = [CUSTOM_WINDOWS_CMD_SEPARATE] expected_command = CUSTOM_WINDOWS_CMD
assert mock_UsersPBA_windows_custom_cmd.command_list == expected_command_list assert mock_UsersPBA_windows_custom_cmd.command == expected_command