From f973c9d6e970d16396eae464da36780d46d290c7 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 21 Jun 2022 09:05:42 -0400 Subject: [PATCH] UT: Extract MockFileRepository into its own module --- .../cc/resources/mock_file_repository.py | 28 +++++++++++++++++++ .../cc/resources/test_pba_file_download.py | 25 +---------------- 2 files changed, 29 insertions(+), 24 deletions(-) create mode 100644 monkey/tests/unit_tests/monkey_island/cc/resources/mock_file_repository.py diff --git a/monkey/tests/unit_tests/monkey_island/cc/resources/mock_file_repository.py b/monkey/tests/unit_tests/monkey_island/cc/resources/mock_file_repository.py new file mode 100644 index 000000000..782c9838b --- /dev/null +++ b/monkey/tests/unit_tests/monkey_island/cc/resources/mock_file_repository.py @@ -0,0 +1,28 @@ +import io +from typing import BinaryIO + +from monkey_island.cc import repository +from monkey_island.cc.repository import IFileRepository + +FILE_NAME = "test_file" +FILE_CONTENTS = b"HelloWorld!" + + +class MockFileRepository(IFileRepository): + def __init__(self): + self._file = io.BytesIO(FILE_CONTENTS) + + def save_file(self, unsafe_file_name: str, file_contents: BinaryIO): + pass + + def open_file(self, unsafe_file_name: str) -> BinaryIO: + if unsafe_file_name != FILE_NAME: + raise repository.FileNotFoundError() + + return self._file + + def delete_file(self, unsafe_file_name: str): + pass + + def delete_all_files(self): + pass diff --git a/monkey/tests/unit_tests/monkey_island/cc/resources/test_pba_file_download.py b/monkey/tests/unit_tests/monkey_island/cc/resources/test_pba_file_download.py index 067dcd102..885f69609 100644 --- a/monkey/tests/unit_tests/monkey_island/cc/resources/test_pba_file_download.py +++ b/monkey/tests/unit_tests/monkey_island/cc/resources/test_pba_file_download.py @@ -1,36 +1,13 @@ -import io from typing import BinaryIO import pytest from tests.common import StubDIContainer from tests.unit_tests.monkey_island.conftest import get_url_for_resource -from monkey_island.cc import repository from monkey_island.cc.repository import IFileRepository, RetrievalError from monkey_island.cc.resources.pba_file_download import PBAFileDownload -FILE_NAME = "test_file" -FILE_CONTENTS = b"HelloWorld!" - - -class MockFileRepository(IFileRepository): - def __init__(self): - self._file = io.BytesIO(FILE_CONTENTS) - - def save_file(self, unsafe_file_name: str, file_contents: BinaryIO): - pass - - def open_file(self, unsafe_file_name: str) -> BinaryIO: - if unsafe_file_name != FILE_NAME: - raise repository.FileNotFoundError() - - return self._file - - def delete_file(self, unsafe_file_name: str): - pass - - def delete_all_files(self): - pass +from .mock_file_repository import FILE_CONTENTS, FILE_NAME, MockFileRepository @pytest.fixture