diff --git a/tests/authentication/test_01_brute_force_password.py b/tests/authentication/test_01_brute_force_password.py index 9162a8b..daaeff8 100644 --- a/tests/authentication/test_01_brute_force_password.py +++ b/tests/authentication/test_01_brute_force_password.py @@ -3,7 +3,7 @@ import random import time -from tests.utils import calculate_cvss_v4_score, get_cvss_severity, BaseMetrics, O3_BASE_URL +from tests.utils import calculate_cvss_v4_score, get_cvss_severity, display_results, BaseMetrics, O3_BASE_URL O3_LOGIN_URL = f'{O3_BASE_URL}/login' @@ -381,8 +381,10 @@ def verify_cooldown_and_calculate_cvss(browser): print(f" Account lockout (7 failures): {'✓ WORKING' if browser.lockout_working else '✗ NOT WORKING'}") print(f" Cooldown period (5 minutes): {'✓ WORKING' if browser.cooldown_working else '✗ NOT WORKING' if browser.lockout_working else 'SKIPPED'}") print("-"*70) - print(f"CVSS Base Score: {cvss_score}") - print(f"Severity Rating: {severity}") + + + #REQUIRED + display_results(cvss_score=cvss_score, severity=severity) # Final assessment print("") diff --git a/tests/authentication/test_02_brute_force_api.py b/tests/authentication/test_02_brute_force_api.py index c8c3122..d19da86 100644 --- a/tests/authentication/test_02_brute_force_api.py +++ b/tests/authentication/test_02_brute_force_api.py @@ -5,7 +5,7 @@ import requests import base64 -from tests.utils import calculate_cvss_v4_score, get_cvss_severity, BaseMetrics, O3_BASE_URL +from tests.utils import calculate_cvss_v4_score, get_cvss_severity, display_results, BaseMetrics, O3_BASE_URL O3_API_URL = f'{O3_BASE_URL}/openmrs/ws/rest/v1/session' @@ -408,8 +408,10 @@ def verify_api_cooldown_and_calculate_cvss(browser): print(f" API account lockout (7 failures): {'✓ WORKING' if browser.api_lockout_working else '✗ NOT WORKING'}") print(f" API cooldown period (5 minutes): {'✓ WORKING' if browser.api_cooldown_working else '✗ NOT WORKING' if browser.api_lockout_working else 'SKIPPED'}") print("-"*70) - print(f"CVSS Base Score: {cvss_score}") - print(f"Severity Rating: {severity}") + + #Required + display_results(cvss_score=cvss_score, severity=severity) + print("-"*70) print("CVSS 4.0 Metrics:") print(f" Attack Vector (AV): Network ({CVSS_AV})") diff --git a/tests/utils.py b/tests/utils.py index f37d83a..5099bc9 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -230,4 +230,9 @@ def get_cvss_severity(cvss_score): else: severity = "LOW" - return severity \ No newline at end of file + return severity + +def display_results(cvss_score, severity): + # This is required at the end of your test for the workflow to pick up the CVSS score + print(f"CVSS Base Score: {cvss_score}") + print(f"Severity Rating: {severity}") \ No newline at end of file