forked from p15670423/monkey
Merge pull request #1177 from guardicore/unit_test_fixture_refactoring
Unit test fixture refactoring
This commit is contained in:
commit
832453fdb5
|
@ -9,43 +9,8 @@ sys.path.insert(0, MONKEY_BASE_PATH)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def resources_dir(pytestconfig):
|
def data_for_tests_dir(pytestconfig):
|
||||||
return os.path.join(pytestconfig.rootdir, "monkey", "tests", "resources")
|
return os.path.join(pytestconfig.rootdir, "monkey", "tests", "data_for_tests")
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def environment_resources_dir(resources_dir):
|
|
||||||
return os.path.join(resources_dir, "environment")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def with_credentials(environment_resources_dir):
|
|
||||||
return os.path.join(environment_resources_dir, "server_config_with_credentials.json")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def no_credentials(environment_resources_dir):
|
|
||||||
return os.path.join(environment_resources_dir, "server_config_no_credentials.json")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def partial_credentials(environment_resources_dir):
|
|
||||||
return os.path.join(environment_resources_dir, "server_config_partial_credentials.json")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def standard_with_credentials(environment_resources_dir):
|
|
||||||
return os.path.join(environment_resources_dir, "server_config_standard_with_credentials.json")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def server_config_resources_dir(resources_dir):
|
|
||||||
return os.path.join(resources_dir, "server_configs")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def test_server_config(server_config_resources_dir):
|
|
||||||
return os.path.join(server_config_resources_dir, "test_server_config.json")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
|
|
@ -2,5 +2,8 @@
|
||||||
"environment" : {
|
"environment" : {
|
||||||
"server_config": "password",
|
"server_config": "password",
|
||||||
"deployment": "develop"
|
"deployment": "develop"
|
||||||
|
},
|
||||||
|
"mongodb": {
|
||||||
|
"start_mongodb": true
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -3,5 +3,8 @@
|
||||||
"server_config": "password",
|
"server_config": "password",
|
||||||
"deployment": "develop",
|
"deployment": "develop",
|
||||||
"user": "test"
|
"user": "test"
|
||||||
|
},
|
||||||
|
"mongodb": {
|
||||||
|
"start_mongodb": true
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,5 +2,8 @@
|
||||||
"environment" : {
|
"environment" : {
|
||||||
"server_config": "standard",
|
"server_config": "standard",
|
||||||
"deployment": "develop"
|
"deployment": "develop"
|
||||||
|
},
|
||||||
|
"mongodb": {
|
||||||
|
"start_mongodb": true
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -5,5 +5,8 @@
|
||||||
"deployment": "develop",
|
"deployment": "develop",
|
||||||
"user": "test",
|
"user": "test",
|
||||||
"password_hash": "abcdef"
|
"password_hash": "abcdef"
|
||||||
|
},
|
||||||
|
"mongodb": {
|
||||||
|
"start_mongodb": true
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,5 +4,8 @@
|
||||||
"deployment": "develop",
|
"deployment": "develop",
|
||||||
"user": "test",
|
"user": "test",
|
||||||
"password_hash": "abcdef"
|
"password_hash": "abcdef"
|
||||||
|
},
|
||||||
|
"mongodb": {
|
||||||
|
"start_mongodb": true
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def with_credentials(server_configs_dir):
|
||||||
|
return os.path.join(server_configs_dir, "server_config_with_credentials.json")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def no_credentials(server_configs_dir):
|
||||||
|
return os.path.join(server_configs_dir, "server_config_no_credentials.json")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def partial_credentials(server_configs_dir):
|
||||||
|
return os.path.join(server_configs_dir, "server_config_partial_credentials.json")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def standard_with_credentials(server_configs_dir):
|
||||||
|
return os.path.join(server_configs_dir, "server_config_standard_with_credentials.json")
|
|
@ -27,24 +27,20 @@ FULL_USER_CREDENTIALS = UserCreds(username="test", password_hash="1231234")
|
||||||
# This fixture is a dirty hack that can be removed once these tests are converted from
|
# This fixture is a dirty hack that can be removed once these tests are converted from
|
||||||
# unittest to pytest. Instead, the appropriate fixtures from conftest.py can be used.
|
# unittest to pytest. Instead, the appropriate fixtures from conftest.py can be used.
|
||||||
@pytest.fixture(scope="module", autouse=True)
|
@pytest.fixture(scope="module", autouse=True)
|
||||||
def configure_resources(environment_resources_dir):
|
def configure_resources(server_configs_dir):
|
||||||
global WITH_CREDENTIALS
|
global WITH_CREDENTIALS
|
||||||
global NO_CREDENTIALS
|
global NO_CREDENTIALS
|
||||||
global PARTIAL_CREDENTIALS
|
global PARTIAL_CREDENTIALS
|
||||||
global STANDARD_WITH_CREDENTIALS
|
global STANDARD_WITH_CREDENTIALS
|
||||||
global STANDARD_ENV
|
global STANDARD_ENV
|
||||||
|
|
||||||
WITH_CREDENTIALS = os.path.join(
|
WITH_CREDENTIALS = os.path.join(server_configs_dir, "server_config_with_credentials.json")
|
||||||
environment_resources_dir, "server_config_with_credentials.json"
|
NO_CREDENTIALS = os.path.join(server_configs_dir, "server_config_no_credentials.json")
|
||||||
)
|
PARTIAL_CREDENTIALS = os.path.join(server_configs_dir, "server_config_partial_credentials.json")
|
||||||
NO_CREDENTIALS = os.path.join(environment_resources_dir, "server_config_no_credentials.json")
|
|
||||||
PARTIAL_CREDENTIALS = os.path.join(
|
|
||||||
environment_resources_dir, "server_config_partial_credentials.json"
|
|
||||||
)
|
|
||||||
STANDARD_WITH_CREDENTIALS = os.path.join(
|
STANDARD_WITH_CREDENTIALS = os.path.join(
|
||||||
environment_resources_dir, "server_config_standard_with_credentials.json"
|
server_configs_dir, "server_config_standard_with_credentials.json"
|
||||||
)
|
)
|
||||||
STANDARD_ENV = os.path.join(environment_resources_dir, "server_config_standard_env.json")
|
STANDARD_ENV = os.path.join(server_configs_dir, "server_config_standard_env.json")
|
||||||
|
|
||||||
|
|
||||||
def get_tmp_file():
|
def get_tmp_file():
|
||||||
|
|
|
@ -50,13 +50,7 @@ def test_save_to_file(config_file, standard_with_credentials):
|
||||||
with open(config_file, "r") as f:
|
with open(config_file, "r") as f:
|
||||||
from_file = json.load(f)
|
from_file = json.load(f)
|
||||||
|
|
||||||
assert len(from_file.keys()) == 2
|
assert environment_config.to_dict() == from_file["environment"]
|
||||||
assert len(from_file["environment"].keys()) == 5
|
|
||||||
assert from_file["environment"]["server_config"] == "standard"
|
|
||||||
assert from_file["environment"]["deployment"] == "develop"
|
|
||||||
assert from_file["environment"]["user"] == "test"
|
|
||||||
assert from_file["environment"]["password_hash"] == "abcdef"
|
|
||||||
assert from_file["environment"]["aws"] == "test_aws"
|
|
||||||
|
|
||||||
|
|
||||||
def test_save_to_file_preserve_log_level(config_file, standard_with_credentials):
|
def test_save_to_file_preserve_log_level(config_file, standard_with_credentials):
|
||||||
|
@ -69,7 +63,6 @@ def test_save_to_file_preserve_log_level(config_file, standard_with_credentials)
|
||||||
with open(config_file, "r") as f:
|
with open(config_file, "r") as f:
|
||||||
from_file = json.load(f)
|
from_file = json.load(f)
|
||||||
|
|
||||||
assert len(from_file.keys()) == 2
|
|
||||||
assert "log_level" in from_file
|
assert "log_level" in from_file
|
||||||
assert from_file["log_level"] == "NOTICE"
|
assert from_file["log_level"] == "NOTICE"
|
||||||
|
|
||||||
|
|
|
@ -8,20 +8,20 @@ PLAINTEXT = "Hello, Monkey!"
|
||||||
CYPHERTEXT = "vKgvD6SjRyIh1dh2AM/rnTa0NI/vjfwnbZLbMocWtE4e42WJmSUz2ordtbQrH1Fq"
|
CYPHERTEXT = "vKgvD6SjRyIh1dh2AM/rnTa0NI/vjfwnbZLbMocWtE4e42WJmSUz2ordtbQrH1Fq"
|
||||||
|
|
||||||
|
|
||||||
def test_aes_cbc_encryption(resources_dir):
|
def test_aes_cbc_encryption(data_for_tests_dir):
|
||||||
initialize_encryptor(resources_dir)
|
initialize_encryptor(data_for_tests_dir)
|
||||||
|
|
||||||
assert get_encryptor().enc(PLAINTEXT) != PLAINTEXT
|
assert get_encryptor().enc(PLAINTEXT) != PLAINTEXT
|
||||||
|
|
||||||
|
|
||||||
def test_aes_cbc_decryption(resources_dir):
|
def test_aes_cbc_decryption(data_for_tests_dir):
|
||||||
initialize_encryptor(resources_dir)
|
initialize_encryptor(data_for_tests_dir)
|
||||||
|
|
||||||
assert get_encryptor().dec(CYPHERTEXT) == PLAINTEXT
|
assert get_encryptor().dec(CYPHERTEXT) == PLAINTEXT
|
||||||
|
|
||||||
|
|
||||||
def test_aes_cbc_enc_dec(resources_dir):
|
def test_aes_cbc_enc_dec(data_for_tests_dir):
|
||||||
initialize_encryptor(resources_dir)
|
initialize_encryptor(data_for_tests_dir)
|
||||||
|
|
||||||
assert get_encryptor().dec(get_encryptor().enc(PLAINTEXT)) == PLAINTEXT
|
assert get_encryptor().dec(get_encryptor().enc(PLAINTEXT)) == PLAINTEXT
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def server_configs_dir(data_for_tests_dir):
|
||||||
|
return os.path.join(data_for_tests_dir, "server_configs")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def test_server_config(server_configs_dir):
|
||||||
|
return os.path.join(server_configs_dir, "test_server_config.json")
|
Loading…
Reference in New Issue