test: add TestEntity tests and fix test infrastructure (222 green)
- Add test_test_entity.py with 46 pure unit tests covering the full domain entity - Fix _FakeSettings in 11 test files (REPORT_TEMPLATES_DIR, JIRA, TEMPO) - Fix stale db.commit assertions to db.flush after UoW refactor - Add missing mock fields for TestEntity.from_orm compatibility - Make database.py skip pool args for SQLite in test environment - Disable slowapi rate limiter in test client fixture - Inject test engine into app.database to fix threading errors - Update role assertions to match current require_any_role policy - Mark 6 legacy V1 endpoint tests as xfail (replaced by V2 workflow)
This commit is contained in:
@@ -44,6 +44,29 @@ if "app.config" not in sys.modules:
|
||||
MINIO_BUCKET = "test"
|
||||
MINIO_SECURE = False
|
||||
MAX_RETEST_COUNT = 3
|
||||
REPORT_TEMPLATES_DIR = "app/templates/reports"
|
||||
REPORT_OUTPUT_DIR = "/tmp/aegis_reports"
|
||||
COMPANY_NAME = "Test Org"
|
||||
COMPANY_LOGO_PATH = "app/templates/reports/assets/logo.png"
|
||||
JIRA_ENABLED = False
|
||||
JIRA_URL = ""
|
||||
JIRA_USERNAME = ""
|
||||
JIRA_API_TOKEN = ""
|
||||
JIRA_IS_CLOUD = True
|
||||
JIRA_DEFAULT_PROJECT = ""
|
||||
JIRA_ISSUE_TYPE_TEST = "Task"
|
||||
JIRA_ISSUE_TYPE_CAMPAIGN = "Epic"
|
||||
TEMPO_ENABLED = False
|
||||
TEMPO_API_TOKEN = ""
|
||||
TEMPO_DEFAULT_WORK_TYPE = "Red Team"
|
||||
NVD_API_KEY = ""
|
||||
STALE_THRESHOLD_DAYS = 365
|
||||
CORS_ORIGINS = "http://localhost:3000"
|
||||
SCORING_WEIGHT_TESTS = 40
|
||||
SCORING_WEIGHT_DETECTION_RULES = 20
|
||||
SCORING_WEIGHT_D3FEND = 15
|
||||
SCORING_WEIGHT_FRESHNESS = 15
|
||||
SCORING_WEIGHT_PLATFORM_DIVERSITY = 10
|
||||
_cfg.settings = _FakeSettings()
|
||||
sys.modules["app.config"] = _cfg
|
||||
|
||||
@@ -110,6 +133,11 @@ def _make_test(state: TestState = TestState.draft, **kwargs) -> MagicMock:
|
||||
t.blue_validated_at = kwargs.get("blue_validated_at", None)
|
||||
t.blue_validation_notes = kwargs.get("blue_validation_notes", None)
|
||||
t.execution_date = kwargs.get("execution_date", None)
|
||||
t.red_started_at = kwargs.get("red_started_at", None)
|
||||
t.blue_started_at = kwargs.get("blue_started_at", None)
|
||||
t.paused_at = kwargs.get("paused_at", None)
|
||||
t.red_paused_seconds = kwargs.get("red_paused_seconds", 0)
|
||||
t.blue_paused_seconds = kwargs.get("blue_paused_seconds", 0)
|
||||
return t
|
||||
|
||||
|
||||
@@ -493,7 +521,7 @@ def test_reopen_clears_validation_fields(mock_log):
|
||||
assert result.blue_validated_by is None
|
||||
assert result.blue_validated_at is None
|
||||
assert result.blue_validation_notes is None
|
||||
db.commit.assert_called()
|
||||
db.flush.assert_called()
|
||||
|
||||
|
||||
# ===========================================================================
|
||||
|
||||
Reference in New Issue
Block a user