From c4d7bf7030b8d71f89311433a7c1b8258d25f2b9 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:23:56 -0500 Subject: [PATCH 1/9] Island: replace get_island_port() with constant --- monkey/monkey_island/cc/environment/__init__.py | 4 ---- monkey/monkey_island/cc/server_setup.py | 11 ++++------- .../cc/server_utils/bootloader_server.py | 4 ++-- monkey/monkey_island/cc/server_utils/consts.py | 2 ++ monkey/monkey_island/cc/services/config.py | 6 +++--- monkey/monkey_island/cc/services/run_local_monkey.py | 5 ++--- .../unit_tests/monkey_island/cc/services/conftest.py | 2 -- .../monkey_island/cc/services/test_config.py | 7 ++----- 8 files changed, 15 insertions(+), 26 deletions(-) diff --git a/monkey/monkey_island/cc/environment/__init__.py b/monkey/monkey_island/cc/environment/__init__.py index 45462af7d..f38ed54d4 100644 --- a/monkey/monkey_island/cc/environment/__init__.py +++ b/monkey/monkey_island/cc/environment/__init__.py @@ -12,7 +12,6 @@ logger = logging.getLogger(__name__) class Environment(object, metaclass=ABCMeta): - _ISLAND_PORT = 5000 _DEBUG_SERVER = False _AUTH_EXPIRATION_TIME = timedelta(minutes=30) @@ -33,9 +32,6 @@ class Environment(object, metaclass=ABCMeta): def get_config(self) -> EnvironmentConfig: return self._config - def get_island_port(self): - return self._ISLAND_PORT - def is_debug(self): return self._DEBUG_SERVER diff --git a/monkey/monkey_island/cc/server_setup.py b/monkey/monkey_island/cc/server_setup.py index c6dc9c0b9..62afdd0e2 100644 --- a/monkey/monkey_island/cc/server_setup.py +++ b/monkey/monkey_island/cc/server_setup.py @@ -10,6 +10,8 @@ from typing import Tuple import gevent.hub from gevent.pywsgi import WSGIServer +from monkey_island.cc.server_utils.consts import ISLAND_PORT + # Add the monkey_island directory to the path, to make sure imports that don't start with # "monkey_island." work. MONKEY_ISLAND_DIR_BASE_PATH = str(Path(__file__).parent.parent) @@ -152,7 +154,7 @@ def _start_island_server(should_setup_only, config_options: IslandConfigOptions) ) else: http_server = WSGIServer( - ("0.0.0.0", env_singleton.env.get_island_port()), + ("0.0.0.0", ISLAND_PORT), app, certfile=config_options.crt_path, keyfile=config_options.key_path, @@ -178,12 +180,7 @@ def _log_init_info(): logger.info(f"version: {get_version()}") logger.info( "Listening on the following URLs: {}".format( - ", ".join( - [ - "https://{}:{}".format(x, env_singleton.env.get_island_port()) - for x in local_ip_addresses() - ] - ) + ", ".join(["https://{}:{}".format(x, ISLAND_PORT) for x in local_ip_addresses()]) ) ) MonkeyDownload.log_executable_hashes() diff --git a/monkey/monkey_island/cc/server_utils/bootloader_server.py b/monkey/monkey_island/cc/server_utils/bootloader_server.py index bfdd42cf2..fa00fbd24 100644 --- a/monkey/monkey_island/cc/server_utils/bootloader_server.py +++ b/monkey/monkey_island/cc/server_utils/bootloader_server.py @@ -7,7 +7,7 @@ import requests import urllib3 from common.common_consts.timeouts import SHORT_REQUEST_TIMEOUT -from monkey_island.cc.environment import Environment +from monkey_island.cc.server_utils.consts import ISLAND_PORT # Disable "unverified certificate" warnings when sending requests to island urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # noqa: DUO131 @@ -49,4 +49,4 @@ class BootloaderHTTPRequestHandler(BaseHTTPRequestHandler): @staticmethod def get_bootloader_resource_url(server_ip): - return "https://" + server_ip + ":" + str(Environment._ISLAND_PORT) + "/api/bootloader/" + return "https://" + server_ip + ":" + str(ISLAND_PORT) + "/api/bootloader/" diff --git a/monkey/monkey_island/cc/server_utils/consts.py b/monkey/monkey_island/cc/server_utils/consts.py index 30749cb3e..ab9261140 100644 --- a/monkey/monkey_island/cc/server_utils/consts.py +++ b/monkey/monkey_island/cc/server_utils/consts.py @@ -51,3 +51,5 @@ DEFAULT_CERTIFICATE_PATHS = { } GEVENT_EXCEPTION_LOG = "gevent_exceptions.log" + +ISLAND_PORT = 5000 diff --git a/monkey/monkey_island/cc/services/config.py b/monkey/monkey_island/cc/services/config.py index 6ddcd896f..0214a957e 100644 --- a/monkey/monkey_island/cc/services/config.py +++ b/monkey/monkey_island/cc/services/config.py @@ -5,7 +5,6 @@ import logging from jsonschema import Draft4Validator, validators -import monkey_island.cc.environment.environment_singleton as env_singleton from common.config_value_paths import ( AWS_KEYS_PATH, EXPORT_MONKEY_TELEMS_PATH, @@ -19,6 +18,7 @@ from common.config_value_paths import ( USER_LIST_PATH, ) from monkey_island.cc.database import mongo +from monkey_island.cc.server_utils.consts import ISLAND_PORT from monkey_island.cc.server_utils.encryption import get_datastore_encryptor from monkey_island.cc.services.config_manipulator import update_config_per_mode from monkey_island.cc.services.config_schema.config_schema import SCHEMA @@ -264,11 +264,11 @@ class ConfigService: def set_server_ips_in_config(config): ips = local_ip_addresses() config["internal"]["island_server"]["command_servers"] = [ - "%s:%d" % (ip, env_singleton.env.get_island_port()) for ip in ips + "%s:%d" % (ip, ISLAND_PORT) for ip in ips ] config["internal"]["island_server"]["current_server"] = "%s:%d" % ( ips[0], - env_singleton.env.get_island_port(), + ISLAND_PORT, ) @staticmethod diff --git a/monkey/monkey_island/cc/services/run_local_monkey.py b/monkey/monkey_island/cc/services/run_local_monkey.py index e7e18045a..ce6c98c61 100644 --- a/monkey/monkey_island/cc/services/run_local_monkey.py +++ b/monkey/monkey_island/cc/services/run_local_monkey.py @@ -5,9 +5,8 @@ import stat import subprocess from shutil import copyfile -import monkey_island.cc.environment.environment_singleton as env_singleton from monkey_island.cc.resources.monkey_download import get_monkey_executable -from monkey_island.cc.server_utils.consts import MONKEY_ISLAND_ABS_PATH +from monkey_island.cc.server_utils.consts import ISLAND_PORT, MONKEY_ISLAND_ABS_PATH from monkey_island.cc.services.utils.network_utils import local_ip_addresses logger = logging.getLogger(__name__) @@ -45,7 +44,7 @@ class LocalMonkeyRunService: # run the monkey try: ip = local_ip_addresses()[0] - port = env_singleton.env.get_island_port() + port = ISLAND_PORT args = [dest_path, "m0nk3y", "-s", f"{ip}:{port}"] subprocess.Popen(args, cwd=LocalMonkeyRunService.DATA_DIR) diff --git a/monkey/tests/unit_tests/monkey_island/cc/services/conftest.py b/monkey/tests/unit_tests/monkey_island/cc/services/conftest.py index bd0744f17..213dbaefc 100644 --- a/monkey/tests/unit_tests/monkey_island/cc/services/conftest.py +++ b/monkey/tests/unit_tests/monkey_island/cc/services/conftest.py @@ -1,6 +1,5 @@ import pytest -from monkey_island.cc.environment import Environment from monkey_island.cc.services.config import ConfigService @@ -17,7 +16,6 @@ def PORT(): @pytest.fixture def config(monkeypatch, IPS, PORT): monkeypatch.setattr("monkey_island.cc.services.config.local_ip_addresses", lambda: IPS) - monkeypatch.setattr(Environment, "_ISLAND_PORT", PORT) config = ConfigService.get_default_config(True) return config diff --git a/monkey/tests/unit_tests/monkey_island/cc/services/test_config.py b/monkey/tests/unit_tests/monkey_island/cc/services/test_config.py index 75b3152e5..751ca98ed 100644 --- a/monkey/tests/unit_tests/monkey_island/cc/services/test_config.py +++ b/monkey/tests/unit_tests/monkey_island/cc/services/test_config.py @@ -11,11 +11,8 @@ class MockClass: @pytest.fixture(scope="function", autouse=True) -def mock_port_in_env_singleton(monkeypatch, PORT): - mock_singleton = MockClass() - mock_singleton.env = MockClass() - mock_singleton.env.get_island_port = lambda: PORT - monkeypatch.setattr("monkey_island.cc.services.config.env_singleton", mock_singleton) +def mock_port(monkeypatch, PORT): + monkeypatch.setattr("monkey_island.cc.services.config.ISLAND_PORT", PORT) @pytest.mark.usefixtures("uses_encryptor") From e98aa81645bef1b66a65049ac8fcc4d2f5274549 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:27:44 -0500 Subject: [PATCH 2/9] Island: Remove Environment.is_debug() Environment.is_debug() is always False. --- .../monkey_island/cc/environment/__init__.py | 4 --- monkey/monkey_island/cc/server_setup.py | 27 +++++++------------ 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/monkey/monkey_island/cc/environment/__init__.py b/monkey/monkey_island/cc/environment/__init__.py index f38ed54d4..121e89399 100644 --- a/monkey/monkey_island/cc/environment/__init__.py +++ b/monkey/monkey_island/cc/environment/__init__.py @@ -12,7 +12,6 @@ logger = logging.getLogger(__name__) class Environment(object, metaclass=ABCMeta): - _DEBUG_SERVER = False _AUTH_EXPIRATION_TIME = timedelta(minutes=30) _testing = False @@ -32,8 +31,5 @@ class Environment(object, metaclass=ABCMeta): def get_config(self) -> EnvironmentConfig: return self._config - def is_debug(self): - return self._DEBUG_SERVER - def get_auth_expiration_time(self): return self._AUTH_EXPIRATION_TIME diff --git a/monkey/monkey_island/cc/server_setup.py b/monkey/monkey_island/cc/server_setup.py index 62afdd0e2..52a026fa7 100644 --- a/monkey/monkey_island/cc/server_setup.py +++ b/monkey/monkey_island/cc/server_setup.py @@ -146,23 +146,16 @@ def _start_island_server(should_setup_only, config_options: IslandConfigOptions) f"{config_options.key_path}." ) - if env_singleton.env.is_debug(): - app.run( - host="0.0.0.0", - debug=True, - ssl_context=(config_options.crt_path, config_options.key_path), - ) - else: - http_server = WSGIServer( - ("0.0.0.0", ISLAND_PORT), - app, - certfile=config_options.crt_path, - keyfile=config_options.key_path, - log=logger, - error_log=logger, - ) - _log_init_info() - http_server.serve_forever() + http_server = WSGIServer( + ("0.0.0.0", ISLAND_PORT), + app, + certfile=config_options.crt_path, + keyfile=config_options.key_path, + log=logger, + error_log=logger, + ) + _log_init_info() + http_server.serve_forever() bootloader_server_thread.join() From e0fc3cec2ac6ce162fa9a9802376a8b8c586ed91 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:30:22 -0500 Subject: [PATCH 3/9] Island: Change Environment.get_auth_expiration_time() to a constant --- monkey/monkey_island/cc/app.py | 5 +++-- monkey/monkey_island/cc/environment/__init__.py | 5 ----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/monkey/monkey_island/cc/app.py b/monkey/monkey_island/cc/app.py index 5f877d318..fe5c28514 100644 --- a/monkey/monkey_island/cc/app.py +++ b/monkey/monkey_island/cc/app.py @@ -1,11 +1,11 @@ import os import uuid +from datetime import timedelta import flask_restful from flask import Flask, Response, send_from_directory from werkzeug.exceptions import NotFound -import monkey_island.cc.environment.environment_singleton as env_singleton from common.common_consts.api_url_consts import T1216_PBA_FILE_DOWNLOAD_PATH from monkey_island.cc.database import database, mongo from monkey_island.cc.resources.attack.attack_config import AttackConfiguration @@ -58,6 +58,7 @@ from monkey_island.cc.services.remote_run_aws import RemoteRunAwsService from monkey_island.cc.services.representations import output_json HOME_FILE = "index.html" +AUTH_EXPIRATION_TIME = timedelta(minutes=30) def serve_static_file(static_path): @@ -87,7 +88,7 @@ def init_app_config(app, mongo_url): app.config["MONGO_URI"] = mongo_url # See https://flask-jwt-extended.readthedocs.io/en/stable/options - app.config["JWT_ACCESS_TOKEN_EXPIRES"] = env_singleton.env.get_auth_expiration_time() + app.config["JWT_ACCESS_TOKEN_EXPIRES"] = AUTH_EXPIRATION_TIME # Invalidate the signature of JWTs if the server process restarts. This avoids the edge case # of getting a JWT, # deciding to reset credentials and then still logging in with the old JWT. diff --git a/monkey/monkey_island/cc/environment/__init__.py b/monkey/monkey_island/cc/environment/__init__.py index 121e89399..56311d120 100644 --- a/monkey/monkey_island/cc/environment/__init__.py +++ b/monkey/monkey_island/cc/environment/__init__.py @@ -12,8 +12,6 @@ logger = logging.getLogger(__name__) class Environment(object, metaclass=ABCMeta): - _AUTH_EXPIRATION_TIME = timedelta(minutes=30) - _testing = False def __init__(self, config: EnvironmentConfig): @@ -30,6 +28,3 @@ class Environment(object, metaclass=ABCMeta): def get_config(self) -> EnvironmentConfig: return self._config - - def get_auth_expiration_time(self): - return self._AUTH_EXPIRATION_TIME From 1231b6aa6cdde7a3dda04d66960029ea0e9e94d1 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:32:57 -0500 Subject: [PATCH 4/9] Island: Remove Environment.get_config() --- monkey/monkey_island/cc/environment/__init__.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/monkey/monkey_island/cc/environment/__init__.py b/monkey/monkey_island/cc/environment/__init__.py index 56311d120..6fd241cb0 100644 --- a/monkey/monkey_island/cc/environment/__init__.py +++ b/monkey/monkey_island/cc/environment/__init__.py @@ -15,7 +15,6 @@ class Environment(object, metaclass=ABCMeta): _testing = False def __init__(self, config: EnvironmentConfig): - self._config = config self._testing = False # Assume env is not for unit testing. @property @@ -25,6 +24,3 @@ class Environment(object, metaclass=ABCMeta): @testing.setter def testing(self, value): self._testing = value - - def get_config(self) -> EnvironmentConfig: - return self._config From 15a3e61ec06e24a51fb63acf2b63a0c48f19f846 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:36:11 -0500 Subject: [PATCH 5/9] Island: Remove unused environment_singleton --- .../cc/environment/environment_singleton.py | 34 ------------------- monkey/monkey_island/cc/server_setup.py | 3 -- 2 files changed, 37 deletions(-) delete mode 100644 monkey/monkey_island/cc/environment/environment_singleton.py diff --git a/monkey/monkey_island/cc/environment/environment_singleton.py b/monkey/monkey_island/cc/environment/environment_singleton.py deleted file mode 100644 index 4c5c6f744..000000000 --- a/monkey/monkey_island/cc/environment/environment_singleton.py +++ /dev/null @@ -1,34 +0,0 @@ -import logging - -from monkey_island.cc.environment import EnvironmentConfig, aws, password - -logger = logging.getLogger(__name__) - -AWS = "aws" -PASSWORD = "password" - -ENV_DICT = { - AWS: aws.AwsEnvironment, - PASSWORD: password.PasswordEnvironment, -} - -env = None - - -def set_env(env_type: str, env_config: EnvironmentConfig): - global env - if env_type in ENV_DICT: - env = ENV_DICT[env_type](env_config) - - -def initialize_from_file(file_path): - try: - config = EnvironmentConfig(file_path) - - __env_type = config.server_config - set_env(__env_type, config) - # noinspection PyUnresolvedReferences - logger.info("Monkey's env is: {0}".format(env.__class__.__name__)) - except Exception: - logger.error("Failed initializing environment", exc_info=True) - raise diff --git a/monkey/monkey_island/cc/server_setup.py b/monkey/monkey_island/cc/server_setup.py index 52a026fa7..65617774d 100644 --- a/monkey/monkey_island/cc/server_setup.py +++ b/monkey/monkey_island/cc/server_setup.py @@ -18,7 +18,6 @@ MONKEY_ISLAND_DIR_BASE_PATH = str(Path(__file__).parent.parent) if str(MONKEY_ISLAND_DIR_BASE_PATH) not in sys.path: sys.path.insert(0, MONKEY_ISLAND_DIR_BASE_PATH) -import monkey_island.cc.environment.environment_singleton as env_singleton # noqa: E402 import monkey_island.cc.setup.config_setup as config_setup # noqa: E402 from common.version import get_version # noqa: E402 from monkey_island.cc.app import init_app # noqa: E402 @@ -91,8 +90,6 @@ def _configure_logging(config_options): def _initialize_globals(config_options: IslandConfigOptions, server_config_path: str): - env_singleton.initialize_from_file(server_config_path) - initialize_services(config_options.data_dir) From 5a544c5debab96295b5f962d539b51e884269515 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:36:59 -0500 Subject: [PATCH 6/9] Island: Remove NOP PasswordEnvironment --- monkey/monkey_island/cc/environment/password.py | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 monkey/monkey_island/cc/environment/password.py diff --git a/monkey/monkey_island/cc/environment/password.py b/monkey/monkey_island/cc/environment/password.py deleted file mode 100644 index 6dc9eea09..000000000 --- a/monkey/monkey_island/cc/environment/password.py +++ /dev/null @@ -1,7 +0,0 @@ -from monkey_island.cc.environment import Environment - - -# TODO: We can probably remove these Environment subclasses, but the -# AwsEnvironment class still does something unique in its constructor. -class PasswordEnvironment(Environment): - pass From 138e3ecee60dfa0dd731b359755c93afd5ef8a5c Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:38:19 -0500 Subject: [PATCH 7/9] Island: Remove unreferenced AwsEnvironment --- monkey/monkey_island/cc/environment/aws.py | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 monkey/monkey_island/cc/environment/aws.py diff --git a/monkey/monkey_island/cc/environment/aws.py b/monkey/monkey_island/cc/environment/aws.py deleted file mode 100644 index c367d3a98..000000000 --- a/monkey/monkey_island/cc/environment/aws.py +++ /dev/null @@ -1,9 +0,0 @@ -from common.cloud.aws.aws_instance import AwsInstance -from monkey_island.cc.environment import Environment - - -class AwsEnvironment(Environment): - def __init__(self, config): - super(AwsEnvironment, self).__init__(config) - # Not suppressing error here on purpose. This is critical if we're on AWS env. - self.aws_info = AwsInstance() From 38a898824a384cccba1491341dbd1c308763305a Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:39:01 -0500 Subject: [PATCH 8/9] Island: Remove unreferenced EnvironmentConfig --- .../cc/environment/environment_config.py | 49 ------------------- .../monkey_island/cc/environment/conftest.py | 8 --- .../cc/environment/test_environment_config.py | 32 ------------ 3 files changed, 89 deletions(-) delete mode 100644 monkey/monkey_island/cc/environment/environment_config.py delete mode 100644 monkey/tests/unit_tests/monkey_island/cc/environment/conftest.py delete mode 100644 monkey/tests/unit_tests/monkey_island/cc/environment/test_environment_config.py diff --git a/monkey/monkey_island/cc/environment/environment_config.py b/monkey/monkey_island/cc/environment/environment_config.py deleted file mode 100644 index 9eba1fd6f..000000000 --- a/monkey/monkey_island/cc/environment/environment_config.py +++ /dev/null @@ -1,49 +0,0 @@ -from __future__ import annotations - -import json -import os -from typing import Dict - - -class EnvironmentConfig: - def __init__(self, file_path): - self._server_config_path = os.path.expanduser(file_path) - self.server_config = None - self.aws = None - - self._load_from_file(self._server_config_path) - - def _load_from_file(self, file_path): - file_path = os.path.expanduser(file_path) - - with open(file_path, "r") as f: - config_content = f.read() - - self._load_from_json(config_content) - - def _load_from_json(self, config_json: str): - data = json.loads(config_json) - self._load_from_dict(data["environment"]) - - def _load_from_dict(self, dict_data: Dict): - aws = dict_data["aws"] if "aws" in dict_data else None - - self.server_config = dict_data["server_config"] - self.aws = aws - - def save_to_file(self): - with open(self._server_config_path, "r") as f: - config = json.load(f) - - config["environment"] = self.to_dict() - - with open(self._server_config_path, "w") as f: - f.write(json.dumps(config, indent=2)) - - def to_dict(self) -> Dict: - config_dict = { - "server_config": self.server_config, - } - if self.aws: - config_dict.update({"aws": self.aws}) - return config_dict diff --git a/monkey/tests/unit_tests/monkey_island/cc/environment/conftest.py b/monkey/tests/unit_tests/monkey_island/cc/environment/conftest.py deleted file mode 100644 index 2faa9c090..000000000 --- a/monkey/tests/unit_tests/monkey_island/cc/environment/conftest.py +++ /dev/null @@ -1,8 +0,0 @@ -import os - -import pytest - - -@pytest.fixture(scope="module") -def no_credentials(server_configs_dir): - return os.path.join(server_configs_dir, "server_config_no_credentials.json") diff --git a/monkey/tests/unit_tests/monkey_island/cc/environment/test_environment_config.py b/monkey/tests/unit_tests/monkey_island/cc/environment/test_environment_config.py deleted file mode 100644 index 403d24263..000000000 --- a/monkey/tests/unit_tests/monkey_island/cc/environment/test_environment_config.py +++ /dev/null @@ -1,32 +0,0 @@ -import json -import os -import shutil - -import pytest - -from monkey_island.cc.environment.environment_config import EnvironmentConfig - - -@pytest.fixture -def config_file(tmpdir): - return os.path.join(tmpdir, "test_config.json") - - -def test_get_with_no_credentials(no_credentials): - config_dict = EnvironmentConfig(no_credentials).to_dict() - - assert len(config_dict.keys()) == 1 - assert config_dict["server_config"] == "password" - - -def test_save_to_file(config_file, no_credentials): - shutil.copyfile(no_credentials, config_file) - - environment_config = EnvironmentConfig(config_file) - environment_config.aws = "test_aws" - environment_config.save_to_file() - - with open(config_file, "r") as f: - from_file = json.load(f) - - assert environment_config.to_dict() == from_file["environment"] From 69cbf3ff5035e1555a17556def7ed17236e3bd36 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Fri, 19 Nov 2021 08:41:42 -0500 Subject: [PATCH 9/9] Island: Remove disused Environment class --- monkey/common/cloud/environment_names.py | 5 ---- .../monkey_island/cc/environment/__init__.py | 26 ------------------- .../cc/environment/test_environment.py | 16 ------------ 3 files changed, 47 deletions(-) delete mode 100644 monkey/common/cloud/environment_names.py delete mode 100644 monkey/tests/unit_tests/monkey_island/cc/environment/test_environment.py diff --git a/monkey/common/cloud/environment_names.py b/monkey/common/cloud/environment_names.py deleted file mode 100644 index 438c64379..000000000 --- a/monkey/common/cloud/environment_names.py +++ /dev/null @@ -1,5 +0,0 @@ -from enum import Enum - - -class Environment(Enum): - AWS = "AWS" diff --git a/monkey/monkey_island/cc/environment/__init__.py b/monkey/monkey_island/cc/environment/__init__.py index 6fd241cb0..e69de29bb 100644 --- a/monkey/monkey_island/cc/environment/__init__.py +++ b/monkey/monkey_island/cc/environment/__init__.py @@ -1,26 +0,0 @@ -import logging -from abc import ABCMeta, abstractmethod -from datetime import timedelta - -from common.utils.exceptions import ( - AlreadyRegisteredError, - InvalidRegistrationCredentialsError, -) -from monkey_island.cc.environment.environment_config import EnvironmentConfig - -logger = logging.getLogger(__name__) - - -class Environment(object, metaclass=ABCMeta): - _testing = False - - def __init__(self, config: EnvironmentConfig): - self._testing = False # Assume env is not for unit testing. - - @property - def testing(self): - return self._testing - - @testing.setter - def testing(self, value): - self._testing = value diff --git a/monkey/tests/unit_tests/monkey_island/cc/environment/test_environment.py b/monkey/tests/unit_tests/monkey_island/cc/environment/test_environment.py deleted file mode 100644 index b6ae69cb6..000000000 --- a/monkey/tests/unit_tests/monkey_island/cc/environment/test_environment.py +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Dict -from unittest import TestCase - -from monkey_island.cc.environment import Environment, EnvironmentConfig - - -class TestEnvironment(TestCase): - def _test_bool_env_method( - self, method_name: str, env: Environment, config: Dict, expected_result: bool - ): - env._config = EnvironmentConfig(config) - method = getattr(env, method_name) - if expected_result: - self.assertTrue(method()) - else: - self.assertFalse(method())