diff --git a/monkey/monkey_island/cc/environment/environment_config.py b/monkey/monkey_island/cc/environment/environment_config.py
index 006f4d233..aec1a777f 100644
--- a/monkey/monkey_island/cc/environment/environment_config.py
+++ b/monkey/monkey_island/cc/environment/environment_config.py
@@ -6,45 +6,22 @@ from pathlib import Path
 from typing import Dict, List
 
 import monkey_island.cc.environment.server_config_generator as server_config_generator
-from monkey_island.cc.server_utils.consts import DEFAULT_SERVER_CONFIG_PATH
 from monkey_island.cc.environment.user_creds import UserCreds
 from monkey_island.cc.resources.auth.auth_user import User
 from monkey_island.cc.resources.auth.user_store import UserStore
 
 
-
 class EnvironmentConfig:
-    def __init__(self,
-                 server_config: str,
-                 deployment: str,
-                 user_creds: UserCreds,
-                 aws=None):
-        self.server_config_path = None
-        self.server_config = server_config
-        self.deployment = deployment
-        self.user_creds = user_creds
-        self.aws = aws
+    def __init__(self, file_path):
+        self._server_config_path = os.path.expanduser(file_path)
+        self.server_config = None
+        self.deployment = None
+        self.user_creds = None
+        self.aws = None
 
-    @staticmethod
-    def get_from_json(config_json: str) -> EnvironmentConfig:
-        data = json.loads(config_json)
-        return EnvironmentConfig.get_from_dict(data)
+        self._load_from_file(self._server_config_path)
 
-    @staticmethod
-    def get_from_dict(dict_data: Dict) -> EnvironmentConfig:
-        user_creds = UserCreds.get_from_dict(dict_data)
-        aws = dict_data['aws'] if 'aws' in dict_data else None
-        return EnvironmentConfig(server_config=dict_data['server_config'],
-                                 deployment=dict_data['deployment'],
-                                 user_creds=user_creds,
-                                 aws=aws)
-
-    def save_to_file(self):
-        with open(self.server_config_path, 'w') as f:
-            f.write(json.dumps(self.to_dict(), indent=2))
-
-    @staticmethod
-    def get_from_file(file_path=DEFAULT_SERVER_CONFIG_PATH) -> EnvironmentConfig:
+    def _load_from_file(self, file_path):
         file_path = os.path.expanduser(file_path)
 
         if not Path(file_path).is_file():
@@ -52,12 +29,24 @@ class EnvironmentConfig:
         with open(file_path, 'r') as f:
             config_content = f.read()
 
-        environment_config = EnvironmentConfig.get_from_json(config_content)
-        # TODO: Populating this property is not ideal. Revisit this when you
-        #       make the logger config file configurable at runtime.
-        environment_config.server_config_path = file_path
+        self._load_from_json(config_content)
 
-        return environment_config
+    def _load_from_json(self, config_json: str) -> EnvironmentConfig:
+        data = json.loads(config_json)
+        self._load_from_dict(data)
+
+    def _load_from_dict(self, dict_data: Dict):
+        user_creds = UserCreds.get_from_dict(dict_data)
+        aws = dict_data['aws'] if 'aws' in dict_data else None
+
+        self.server_config = dict_data['server_config']
+        self.deployment = dict_data['deployment']
+        self.user_creds = user_creds
+        self.aws = aws
+
+    def save_to_file(self):
+        with open(self._server_config_path, 'w') as f:
+            f.write(json.dumps(self.to_dict(), indent=2))
 
     def to_dict(self) -> Dict:
         config_dict = {'server_config': self.server_config,
diff --git a/monkey/monkey_island/cc/environment/environment_singleton.py b/monkey/monkey_island/cc/environment/environment_singleton.py
index bbcc75584..1d037051d 100644
--- a/monkey/monkey_island/cc/environment/environment_singleton.py
+++ b/monkey/monkey_island/cc/environment/environment_singleton.py
@@ -39,7 +39,7 @@ def set_to_standard():
 
 def initialize_from_file(file_path):
     try:
-        config = EnvironmentConfig.get_from_file(file_path)
+        config = EnvironmentConfig(file_path)
 
         __env_type = config.server_config
         set_env(__env_type, config)
diff --git a/monkey/monkey_island/cc/environment/server_config_generator.py b/monkey/monkey_island/cc/environment/server_config_generator.py
index d52d5261d..3c0fb083e 100644
--- a/monkey/monkey_island/cc/environment/server_config_generator.py
+++ b/monkey/monkey_island/cc/environment/server_config_generator.py
@@ -1,6 +1,6 @@
 from pathlib import Path
 
-from monkey_island.cc.consts import DEFAULT_STANDARD_SERVER_CONFIG
+from monkey_island.cc.server_utils.consts import DEFAULT_STANDARD_SERVER_CONFIG
 
 
 def create_default_config_file(path):
diff --git a/monkey/monkey_island/cc/environment/test__init__.py b/monkey/monkey_island/cc/environment/test__init__.py
index c55e1b65b..3e805b712 100644
--- a/monkey/monkey_island/cc/environment/test__init__.py
+++ b/monkey/monkey_island/cc/environment/test__init__.py
@@ -1,15 +1,43 @@
 import json
 import os
+import tempfile
 from typing import Dict
 from unittest import TestCase
 from unittest.mock import MagicMock, patch
 
-import monkey_island.cc.test_common.environment.server_config_mocks as config_mocks
+from monkey_island.cc.server_utils.consts import MONKEY_ISLAND_ABS_PATH
 from common.utils.exceptions import (AlreadyRegisteredError, CredentialsNotRequiredError,
                                      InvalidRegistrationCredentialsError, RegistrationNotNeededError)
 from monkey_island.cc.environment import Environment, EnvironmentConfig, UserCreds
 
 
+TEST_RESOURCES_DIR = os.path.join(MONKEY_ISLAND_ABS_PATH, "cc", "testing", "environment")
+
+WITH_CREDENTIALS = os.path.join(TEST_RESOURCES_DIR, "server_config_with_credentials.json")
+NO_CREDENTIALS = os.path.join(TEST_RESOURCES_DIR, "server_config_no_credentials.json")
+PARTIAL_CREDENTIALS = os.path.join(TEST_RESOURCES_DIR, "server_config_partial_credentials.json")
+STANDARD_WITH_CREDENTIALS = os.path.join(TEST_RESOURCES_DIR,
+                                         "server_config_standard_with_credentials.json")
+STANDARD_ENV = os.path.join(TEST_RESOURCES_DIR,
+                                   "server_config_standard_env.json")
+
+
+def get_tmp_file():
+    with tempfile.NamedTemporaryFile(delete=False) as f:
+        return f.name
+
+
+class StubEnvironmentConfig(EnvironmentConfig):
+    def __init__(self, server_config, deployment, user_creds):
+        self.server_config = server_config
+        self.deployment = deployment
+        self.user_creds = user_creds
+        self.server_config_path = get_tmp_file()
+
+    def __del__(self):
+        os.remove(self.server_config_path)
+
+
 def get_server_config_file_path_test_version():
     return os.path.join(os.getcwd(), 'test_config.json')
 
@@ -18,7 +46,7 @@ class TestEnvironment(TestCase):
 
     class EnvironmentCredentialsNotRequired(Environment):
         def __init__(self):
-            config = EnvironmentConfig('test', 'test', UserCreds())
+            config = StubEnvironmentConfig('test', 'test', UserCreds())
             super().__init__(config)
 
         _credentials_required = False
@@ -28,7 +56,7 @@ class TestEnvironment(TestCase):
 
     class EnvironmentCredentialsRequired(Environment):
         def __init__(self):
-            config = EnvironmentConfig('test', 'test', UserCreds())
+            config = StubEnvironmentConfig('test', 'test', UserCreds())
             super().__init__(config)
 
         _credentials_required = True
@@ -38,7 +66,7 @@ class TestEnvironment(TestCase):
 
     class EnvironmentAlreadyRegistered(Environment):
         def __init__(self):
-            config = EnvironmentConfig('test', 'test', UserCreds('test_user', 'test_secret'))
+            config = StubEnvironmentConfig('test', 'test', UserCreds('test_user', 'test_secret'))
             super().__init__(config)
 
         _credentials_required = True
@@ -75,35 +103,35 @@ class TestEnvironment(TestCase):
 
     def test_needs_registration(self):
         env = TestEnvironment.EnvironmentCredentialsRequired()
-        self._test_bool_env_method("needs_registration", env, config_mocks.CONFIG_WITH_CREDENTIALS, False)
-        self._test_bool_env_method("needs_registration", env, config_mocks.CONFIG_NO_CREDENTIALS, True)
-        self._test_bool_env_method("needs_registration", env, config_mocks.CONFIG_PARTIAL_CREDENTIALS, True)
+        self._test_bool_env_method("needs_registration", env, WITH_CREDENTIALS, False)
+        self._test_bool_env_method("needs_registration", env, NO_CREDENTIALS, True)
+        self._test_bool_env_method("needs_registration", env, PARTIAL_CREDENTIALS, True)
 
         env = TestEnvironment.EnvironmentCredentialsNotRequired()
-        self._test_bool_env_method("needs_registration", env, config_mocks.CONFIG_STANDARD_ENV, False)
-        self._test_bool_env_method("needs_registration", env, config_mocks.CONFIG_STANDARD_WITH_CREDENTIALS, False)
+        self._test_bool_env_method("needs_registration", env, STANDARD_ENV, False)
+        self._test_bool_env_method("needs_registration", env, STANDARD_WITH_CREDENTIALS, False)
 
     def test_is_registered(self):
         env = TestEnvironment.EnvironmentCredentialsRequired()
-        self._test_bool_env_method("_is_registered", env, config_mocks.CONFIG_WITH_CREDENTIALS, True)
-        self._test_bool_env_method("_is_registered", env, config_mocks.CONFIG_NO_CREDENTIALS, False)
-        self._test_bool_env_method("_is_registered", env, config_mocks.CONFIG_PARTIAL_CREDENTIALS, False)
+        self._test_bool_env_method("_is_registered", env, WITH_CREDENTIALS, True)
+        self._test_bool_env_method("_is_registered", env, NO_CREDENTIALS, False)
+        self._test_bool_env_method("_is_registered", env, PARTIAL_CREDENTIALS, False)
 
         env = TestEnvironment.EnvironmentCredentialsNotRequired()
-        self._test_bool_env_method("_is_registered", env, config_mocks.CONFIG_STANDARD_ENV, False)
-        self._test_bool_env_method("_is_registered", env, config_mocks.CONFIG_STANDARD_WITH_CREDENTIALS, False)
+        self._test_bool_env_method("_is_registered", env, STANDARD_ENV, False)
+        self._test_bool_env_method("_is_registered", env, STANDARD_WITH_CREDENTIALS, False)
 
     def test_is_credentials_set_up(self):
         env = TestEnvironment.EnvironmentCredentialsRequired()
-        self._test_bool_env_method("_is_credentials_set_up", env, config_mocks.CONFIG_NO_CREDENTIALS, False)
-        self._test_bool_env_method("_is_credentials_set_up", env, config_mocks.CONFIG_WITH_CREDENTIALS, True)
-        self._test_bool_env_method("_is_credentials_set_up", env, config_mocks.CONFIG_PARTIAL_CREDENTIALS, False)
+        self._test_bool_env_method("_is_credentials_set_up", env, NO_CREDENTIALS, False)
+        self._test_bool_env_method("_is_credentials_set_up", env, WITH_CREDENTIALS, True)
+        self._test_bool_env_method("_is_credentials_set_up", env, PARTIAL_CREDENTIALS, False)
 
         env = TestEnvironment.EnvironmentCredentialsNotRequired()
-        self._test_bool_env_method("_is_credentials_set_up", env, config_mocks.CONFIG_STANDARD_ENV, False)
+        self._test_bool_env_method("_is_credentials_set_up", env, STANDARD_ENV, False)
 
     def _test_bool_env_method(self, method_name: str, env: Environment, config: Dict, expected_result: bool):
-        env._config = EnvironmentConfig.get_from_json(json.dumps(config))
+        env._config = EnvironmentConfig(config)
         method = getattr(env, method_name)
         if expected_result:
             self.assertTrue(method())
diff --git a/monkey/monkey_island/cc/environment/test_environment_config.py b/monkey/monkey_island/cc/environment/test_environment_config.py
index f038eed74..e508112d4 100644
--- a/monkey/monkey_island/cc/environment/test_environment_config.py
+++ b/monkey/monkey_island/cc/environment/test_environment_config.py
@@ -1,14 +1,28 @@
 import json
 import os
-from typing import Dict
+import shutil
 
 import pytest
 
-import monkey_island.cc.test_common.environment.server_config_mocks as config_mocks
+from monkey_island.cc.server_utils.consts import MONKEY_ISLAND_ABS_PATH
 from monkey_island.cc.environment.environment_config import EnvironmentConfig
 from monkey_island.cc.environment.user_creds import UserCreds
 
 
+TEST_RESOURCES_DIR = os.path.join(
+    MONKEY_ISLAND_ABS_PATH, "cc", "testing", "environment"
+)
+
+WITH_CREDENTIALS = os.path.join(
+    TEST_RESOURCES_DIR, "server_config_with_credentials.json"
+)
+NO_CREDENTIALS = os.path.join(TEST_RESOURCES_DIR, "server_config_no_credentials.json")
+PARTIAL_CREDENTIALS = os.path.join(
+    TEST_RESOURCES_DIR, "server_config_partial_credentials.json"
+)
+STANDARD_WITH_CREDENTIALS = os.path.join(
+    TEST_RESOURCES_DIR, "server_config_standard_with_credentials.json"
+)
 
 
 @pytest.fixture
@@ -16,86 +30,59 @@ def config_file(tmpdir):
     return os.path.join(tmpdir, "test_config.json")
 
 
-def test_get_with_credentials(config_file):
-    test_conf = config_mocks.CONFIG_WITH_CREDENTIALS
-
-    _write_test_config_to_tmp(config_file, test_conf)
-    config_dict = EnvironmentConfig.get_from_file(config_file).to_dict()
+def test_get_with_credentials():
+    config_dict = EnvironmentConfig(WITH_CREDENTIALS).to_dict()
 
     assert len(config_dict.keys()) == 4
-    assert config_dict["server_config"] == test_conf["server_config"]
-    assert config_dict["deployment"] == test_conf["deployment"]
-    assert config_dict["user"] == test_conf["user"]
-    assert config_dict["password_hash"] == test_conf["password_hash"]
+    assert config_dict["server_config"] == "password"
+    assert config_dict["deployment"] == "develop"
+    assert config_dict["user"] == "test"
+    assert config_dict["password_hash"] == "abcdef"
 
 
-def test_get_with_no_credentials(config_file):
-    test_conf = config_mocks.CONFIG_NO_CREDENTIALS
-
-    _write_test_config_to_tmp(config_file, test_conf)
-    config_dict = EnvironmentConfig.get_from_file(config_file).to_dict()
+def test_get_with_no_credentials():
+    config_dict = EnvironmentConfig(NO_CREDENTIALS).to_dict()
 
     assert len(config_dict.keys()) == 2
-    assert config_dict["server_config"] == test_conf["server_config"]
-    assert config_dict["deployment"] == test_conf["deployment"]
+    assert config_dict["server_config"] == "password"
+    assert config_dict["deployment"] == "develop"
 
 
-def test_get_with_partial_credentials(config_file):
-    test_conf = config_mocks.CONFIG_PARTIAL_CREDENTIALS
-
-    _write_test_config_to_tmp(config_file, test_conf)
-    config_dict = EnvironmentConfig.get_from_file(config_file).to_dict()
+def test_get_with_partial_credentials():
+    config_dict = EnvironmentConfig(PARTIAL_CREDENTIALS).to_dict()
 
     assert len(config_dict.keys()) == 3
-    assert config_dict["server_config"] == test_conf["server_config"]
-    assert config_dict["deployment"] == test_conf["deployment"]
-    assert config_dict["user"] == test_conf["user"]
-
-
-def _write_test_config_to_tmp(config_file, config: Dict):
-    with open(config_file, "wt") as f:
-        json.dump(config, f)
+    assert config_dict["server_config"] == "password"
+    assert config_dict["deployment"] == "develop"
+    assert config_dict["user"] == "test"
 
 
 def test_save_to_file(config_file):
-    server_config = "standard"
-    deployment = "develop"
-    user = "test_user"
-    password_hash = "abcdef"
-    aws = "test"
-
-    environment_config = EnvironmentConfig(
-        server_config, deployment, UserCreds(user, password_hash), aws
-    )
-    environment_config.server_config_path = config_file
+    shutil.copyfile(STANDARD_WITH_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 len(from_file.keys()) == 5
-    assert from_file["server_config"] == server_config
-    assert from_file["deployment"] == deployment
-    assert from_file["user"] == user
-    assert from_file["password_hash"] == password_hash
-    assert from_file["aws"] == aws
+    assert from_file["server_config"] == "standard"
+    assert from_file["deployment"] == "develop"
+    assert from_file["user"] == "test"
+    assert from_file["password_hash"] == "abcdef"
+    assert from_file["aws"] == "test_aws"
 
 
 def test_add_user(config_file):
-    server_config = "standard"
-    deployment = "develop"
-    user = "test_user"
-    password_hash = "abcdef"
-
     new_user = "new_user"
     new_password_hash = "fedcba"
     new_user_creds = UserCreds(new_user, new_password_hash)
 
-    environment_config = EnvironmentConfig(
-        server_config, deployment, UserCreds(user, password_hash)
-    )
-    environment_config.server_config_path = config_file
+    shutil.copyfile(STANDARD_WITH_CREDENTIALS, config_file)
 
+    environment_config = EnvironmentConfig(config_file)
     environment_config.add_user(new_user_creds)
 
     with open(config_file, "r") as f:
@@ -107,23 +94,17 @@ def test_add_user(config_file):
 
 
 def test_get_users():
-    server_config = "standard"
-    deployment = "develop"
-    user = "test_user"
-    password_hash = "abcdef"
-
-    environment_config = EnvironmentConfig(
-        server_config, deployment, UserCreds(user, password_hash)
-    )
-
+    environment_config = EnvironmentConfig(STANDARD_WITH_CREDENTIALS)
     users = environment_config.get_users()
+
     assert len(users) == 1
     assert users[0].id == 1
-    assert users[0].username == user
-    assert users[0].secret == password_hash
+    assert users[0].username == "test"
+    assert users[0].secret == "abcdef"
+
 
 def test_generate_default_file(config_file):
-    environment_config = EnvironmentConfig.get_from_file(config_file)
+    environment_config = EnvironmentConfig(config_file)
 
     assert os.path.isfile(config_file)
 
@@ -132,4 +113,3 @@ def test_generate_default_file(config_file):
     assert environment_config.user_creds.username == ""
     assert environment_config.user_creds.password_hash == ""
     assert environment_config.aws is None
-    environment_config.server_config_path == config_file
diff --git a/monkey/monkey_island/cc/test_common/environment/server_config_mocks.py b/monkey/monkey_island/cc/test_common/environment/server_config_mocks.py
deleted file mode 100644
index ddbff3118..000000000
--- a/monkey/monkey_island/cc/test_common/environment/server_config_mocks.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Username:test Password:test
-CONFIG_WITH_CREDENTIALS = {
-    "server_config": "password",
-    "deployment": "develop",
-    "user": "test",
-    "password_hash": "9ece086e9bac491fac5c1d1046ca11d737b92a2b2ebd93f005d7b710110c0a678288166e7fbe796883a"
-                     "4f2e9b3ca9f484f521d0ce464345cc1aec96779149c14"
-}
-
-CONFIG_NO_CREDENTIALS = {
-    "server_config": "password",
-    "deployment": "develop"
-}
-
-CONFIG_PARTIAL_CREDENTIALS = {
-    "server_config": "password",
-    "deployment": "develop",
-    "user": "test"
-}
-
-CONFIG_BOGUS_VALUES = {
-    "server_config": "password",
-    "deployment": "develop",
-    "user": "test",
-    "aws": "test",
-    "test": "test",
-    "test2": "test2"
-}
-
-CONFIG_STANDARD_ENV = {
-    "server_config": "standard",
-    "deployment": "develop"
-}
-
-CONFIG_STANDARD_WITH_CREDENTIALS = {
-    "server_config": "standard",
-    "deployment": "develop",
-    "user": "test",
-    "password_hash": "9ece086e9bac491fac5c1d1046ca11d737b92a2b2ebd93f005d7b710110c0a678288166e7fbe796883a"
-                     "4f2e9b3ca9f484f521d0ce464345cc1aec96779149c14"
-}
diff --git a/monkey/monkey_island/cc/testing/environment/server_config_no_credentials.json b/monkey/monkey_island/cc/testing/environment/server_config_no_credentials.json
new file mode 100644
index 000000000..ecc4c1708
--- /dev/null
+++ b/monkey/monkey_island/cc/testing/environment/server_config_no_credentials.json
@@ -0,0 +1,4 @@
+{
+  "server_config": "password",
+  "deployment": "develop"
+}
diff --git a/monkey/monkey_island/cc/testing/environment/server_config_partial_credentials.json b/monkey/monkey_island/cc/testing/environment/server_config_partial_credentials.json
new file mode 100644
index 000000000..a9e283924
--- /dev/null
+++ b/monkey/monkey_island/cc/testing/environment/server_config_partial_credentials.json
@@ -0,0 +1,5 @@
+{
+  "server_config": "password",
+  "deployment": "develop",
+  "user": "test"
+}
diff --git a/monkey/monkey_island/cc/testing/environment/server_config_standard_env.json b/monkey/monkey_island/cc/testing/environment/server_config_standard_env.json
new file mode 100644
index 000000000..420f1b303
--- /dev/null
+++ b/monkey/monkey_island/cc/testing/environment/server_config_standard_env.json
@@ -0,0 +1,4 @@
+{
+  "server_config": "standard",
+  "deployment": "develop"
+}
diff --git a/monkey/monkey_island/cc/testing/environment/server_config_standard_with_credentials.json b/monkey/monkey_island/cc/testing/environment/server_config_standard_with_credentials.json
new file mode 100644
index 000000000..4bff379e8
--- /dev/null
+++ b/monkey/monkey_island/cc/testing/environment/server_config_standard_with_credentials.json
@@ -0,0 +1,6 @@
+{
+    "server_config": "standard",
+    "deployment": "develop",
+    "user": "test",
+    "password_hash": "abcdef"
+}
diff --git a/monkey/monkey_island/cc/testing/environment/server_config_with_credentials.json b/monkey/monkey_island/cc/testing/environment/server_config_with_credentials.json
new file mode 100644
index 000000000..54c0fa787
--- /dev/null
+++ b/monkey/monkey_island/cc/testing/environment/server_config_with_credentials.json
@@ -0,0 +1,6 @@
+{
+    "server_config": "password",
+    "deployment": "develop",
+    "user": "test",
+    "password_hash": "abcdef"
+}