forked from p15670423/monkey
UT: Fix test_principle_service tests
And modify data in test_pillar_service.py accordingly
This commit is contained in:
parent
b23360db37
commit
788641b7d6
|
@ -1,35 +1,17 @@
|
|||
from tests.unit_tests.monkey_island.cc.services.zero_trust.test_common.finding_data import (
|
||||
get_monkey_finding_dto,
|
||||
get_scoutsuite_finding_dto,
|
||||
)
|
||||
|
||||
from common.common_consts import zero_trust_consts
|
||||
|
||||
|
||||
def save_example_findings():
|
||||
# devices passed = 1
|
||||
_save_finding_with_status(
|
||||
"scoutsuite",
|
||||
zero_trust_consts.TEST_ENDPOINT_SECURITY_EXISTS,
|
||||
zero_trust_consts.STATUS_PASSED,
|
||||
)
|
||||
# devices passed = 2
|
||||
_save_finding_with_status(
|
||||
"scoutsuite",
|
||||
zero_trust_consts.TEST_ENDPOINT_SECURITY_EXISTS,
|
||||
zero_trust_consts.STATUS_PASSED,
|
||||
)
|
||||
# devices failed = 1
|
||||
_save_finding_with_status(
|
||||
"monkey", zero_trust_consts.TEST_ENDPOINT_SECURITY_EXISTS, zero_trust_consts.STATUS_FAILED
|
||||
)
|
||||
# people verify = 1
|
||||
# networks verify = 1
|
||||
_save_finding_with_status(
|
||||
"scoutsuite", zero_trust_consts.TEST_SCHEDULED_EXECUTION, zero_trust_consts.STATUS_VERIFY
|
||||
)
|
||||
# people verify = 2
|
||||
# networks verify = 2
|
||||
_save_finding_with_status(
|
||||
"monkey", zero_trust_consts.TEST_SCHEDULED_EXECUTION, zero_trust_consts.STATUS_VERIFY
|
||||
)
|
||||
|
@ -39,24 +21,12 @@ def save_example_findings():
|
|||
)
|
||||
# data failed 2
|
||||
_save_finding_with_status(
|
||||
"scoutsuite",
|
||||
zero_trust_consts.TEST_SCOUTSUITE_UNENCRYPTED_DATA,
|
||||
zero_trust_consts.STATUS_FAILED,
|
||||
"monkey", zero_trust_consts.TEST_DATA_ENDPOINT_HTTP, zero_trust_consts.STATUS_FAILED
|
||||
)
|
||||
# data failed 3
|
||||
_save_finding_with_status(
|
||||
"monkey", zero_trust_consts.TEST_DATA_ENDPOINT_HTTP, zero_trust_consts.STATUS_FAILED
|
||||
)
|
||||
# data failed 4
|
||||
_save_finding_with_status(
|
||||
"monkey", zero_trust_consts.TEST_DATA_ENDPOINT_HTTP, zero_trust_consts.STATUS_FAILED
|
||||
)
|
||||
# data failed 5
|
||||
_save_finding_with_status(
|
||||
"scoutsuite",
|
||||
zero_trust_consts.TEST_SCOUTSUITE_UNENCRYPTED_DATA,
|
||||
zero_trust_consts.STATUS_FAILED,
|
||||
)
|
||||
# data verify 1
|
||||
_save_finding_with_status(
|
||||
"monkey", zero_trust_consts.TEST_DATA_ENDPOINT_HTTP, zero_trust_consts.STATUS_VERIFY
|
||||
|
@ -65,19 +35,10 @@ def save_example_findings():
|
|||
_save_finding_with_status(
|
||||
"monkey", zero_trust_consts.TEST_DATA_ENDPOINT_HTTP, zero_trust_consts.STATUS_VERIFY
|
||||
)
|
||||
# data passed 1
|
||||
_save_finding_with_status(
|
||||
"scoutsuite",
|
||||
zero_trust_consts.TEST_SCOUTSUITE_UNENCRYPTED_DATA,
|
||||
zero_trust_consts.STATUS_PASSED,
|
||||
)
|
||||
|
||||
|
||||
def _save_finding_with_status(finding_type: str, test: str, status: str):
|
||||
if finding_type == "scoutsuite":
|
||||
finding = get_scoutsuite_finding_dto()
|
||||
else:
|
||||
finding = get_monkey_finding_dto()
|
||||
finding = get_monkey_finding_dto()
|
||||
finding.test = test
|
||||
finding.status = status
|
||||
finding.save()
|
||||
|
|
|
@ -1,27 +1,14 @@
|
|||
from tests.unit_tests.monkey_island.cc.services.zero_trust.test_common.monkey_finding_data import (
|
||||
get_monkey_details_dto,
|
||||
)
|
||||
from tests.unit_tests.monkey_island.cc.services.zero_trust.test_common.scoutsuite_finding_data import ( # noqa: E501
|
||||
get_scoutsuite_details_dto,
|
||||
)
|
||||
|
||||
from common.common_consts.zero_trust_consts import (
|
||||
STATUS_FAILED,
|
||||
STATUS_PASSED,
|
||||
TEST_ENDPOINT_SECURITY_EXISTS,
|
||||
TEST_SCOUTSUITE_SERVICE_SECURITY,
|
||||
)
|
||||
from monkey_island.cc.models.zero_trust.finding import Finding
|
||||
from monkey_island.cc.models.zero_trust.monkey_finding import MonkeyFinding
|
||||
from monkey_island.cc.models.zero_trust.scoutsuite_finding import ScoutSuiteFinding
|
||||
|
||||
|
||||
def get_scoutsuite_finding_dto() -> Finding:
|
||||
scoutsuite_details = get_scoutsuite_details_dto()
|
||||
scoutsuite_details.save()
|
||||
return ScoutSuiteFinding(
|
||||
test=TEST_SCOUTSUITE_SERVICE_SECURITY, status=STATUS_FAILED, details=scoutsuite_details
|
||||
)
|
||||
|
||||
|
||||
def get_monkey_finding_dto() -> Finding:
|
||||
|
|
|
@ -29,16 +29,16 @@ def test_get_pillars_grades():
|
|||
def _get_expected_pillar_grades() -> List[dict]:
|
||||
return [
|
||||
{
|
||||
zero_trust_consts.STATUS_FAILED: 5,
|
||||
zero_trust_consts.STATUS_FAILED: 3,
|
||||
zero_trust_consts.STATUS_VERIFY: 2,
|
||||
zero_trust_consts.STATUS_PASSED: 1,
|
||||
# 2 different tests of DATA pillar were executed in _save_findings()
|
||||
zero_trust_consts.STATUS_UNEXECUTED: _get_cnt_of_tests_in_pillar(DATA) - 2,
|
||||
zero_trust_consts.STATUS_PASSED: 0,
|
||||
# 1 test of DATA pillar was executed in _save_findings()
|
||||
zero_trust_consts.STATUS_UNEXECUTED: _get_cnt_of_tests_in_pillar(DATA) - 1,
|
||||
"pillar": "Data",
|
||||
},
|
||||
{
|
||||
zero_trust_consts.STATUS_FAILED: 0,
|
||||
zero_trust_consts.STATUS_VERIFY: 2,
|
||||
zero_trust_consts.STATUS_VERIFY: 1,
|
||||
zero_trust_consts.STATUS_PASSED: 0,
|
||||
# 1 test of PEOPLE pillar were executed in _save_findings()
|
||||
zero_trust_consts.STATUS_UNEXECUTED: _get_cnt_of_tests_in_pillar(PEOPLE) - 1,
|
||||
|
@ -46,7 +46,7 @@ def _get_expected_pillar_grades() -> List[dict]:
|
|||
},
|
||||
{
|
||||
zero_trust_consts.STATUS_FAILED: 0,
|
||||
zero_trust_consts.STATUS_VERIFY: 2,
|
||||
zero_trust_consts.STATUS_VERIFY: 1,
|
||||
zero_trust_consts.STATUS_PASSED: 0,
|
||||
# 1 different tests of NETWORKS pillar were executed in _save_findings()
|
||||
zero_trust_consts.STATUS_UNEXECUTED: _get_cnt_of_tests_in_pillar(NETWORKS) - 1,
|
||||
|
@ -55,7 +55,7 @@ def _get_expected_pillar_grades() -> List[dict]:
|
|||
{
|
||||
zero_trust_consts.STATUS_FAILED: 1,
|
||||
zero_trust_consts.STATUS_VERIFY: 0,
|
||||
zero_trust_consts.STATUS_PASSED: 2,
|
||||
zero_trust_consts.STATUS_PASSED: 0,
|
||||
# 1 different tests of DEVICES pillar were executed in _save_findings()
|
||||
zero_trust_consts.STATUS_UNEXECUTED: _get_cnt_of_tests_in_pillar(DEVICES) - 1,
|
||||
"pillar": "Devices",
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import pytest
|
||||
from tests.unit_tests.monkey_island.cc.services.zero_trust.test_common.finding_data import (
|
||||
get_monkey_finding_dto,
|
||||
get_scoutsuite_finding_dto,
|
||||
)
|
||||
|
||||
from common.common_consts import zero_trust_consts
|
||||
|
@ -13,10 +12,9 @@ EXPECTED_DICT = {
|
|||
"test_pillar1": [
|
||||
{
|
||||
"principle": "Test principle description2",
|
||||
"status": zero_trust_consts.STATUS_FAILED,
|
||||
"status": zero_trust_consts.STATUS_PASSED,
|
||||
"tests": [
|
||||
{"status": zero_trust_consts.STATUS_PASSED, "test": "You ran a test2"},
|
||||
{"status": zero_trust_consts.STATUS_FAILED, "test": "You ran a test3"},
|
||||
],
|
||||
}
|
||||
],
|
||||
|
@ -28,10 +26,9 @@ EXPECTED_DICT = {
|
|||
},
|
||||
{
|
||||
"principle": "Test principle description2",
|
||||
"status": zero_trust_consts.STATUS_FAILED,
|
||||
"status": zero_trust_consts.STATUS_PASSED,
|
||||
"tests": [
|
||||
{"status": zero_trust_consts.STATUS_PASSED, "test": "You ran a test2"},
|
||||
{"status": zero_trust_consts.STATUS_FAILED, "test": "You ran a test3"},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
@ -46,7 +43,7 @@ def test_get_principles_status():
|
|||
|
||||
principles_to_tests = {
|
||||
"network_policies": ["segmentation"],
|
||||
"endpoint_security": ["tunneling", "scoutsuite_service_security"],
|
||||
"endpoint_security": ["tunneling"],
|
||||
}
|
||||
zero_trust_consts.PRINCIPLES_TO_TESTS = principles_to_tests
|
||||
|
||||
|
@ -65,7 +62,6 @@ def test_get_principles_status():
|
|||
tests_map = {
|
||||
"segmentation": {"explanation": "You ran a test1"},
|
||||
"tunneling": {"explanation": "You ran a test2"},
|
||||
"scoutsuite_service_security": {"explanation": "You ran a test3"},
|
||||
}
|
||||
zero_trust_consts.TESTS_MAP = tests_map
|
||||
|
||||
|
@ -77,10 +73,6 @@ def test_get_principles_status():
|
|||
monkey_finding.test = "tunneling"
|
||||
monkey_finding.save()
|
||||
|
||||
scoutsuite_finding = get_scoutsuite_finding_dto()
|
||||
scoutsuite_finding.test = "scoutsuite_service_security"
|
||||
scoutsuite_finding.save()
|
||||
|
||||
expected = dict(EXPECTED_DICT) # new mutable
|
||||
|
||||
result = PrincipleService.get_principles_status()
|
||||
|
|
Loading…
Reference in New Issue