fix(tests): 61 failed backend unit tests — async/await mocks, deadlock fix, SyntaxError repairs
Группы исправлений: - Группа 1 (async/await misuse): MagicMock → AsyncMock для get_dashboards, export_dashboard, import_dashboard, sync_environment, get_run_detail, list_all_runs, create_task и др. — 23 теста - Группа 2 (runner.run deadlock): добавлены моки get_async_job_runner + IdMappingService/AsyncSupersetClient в migration plugin + API tests для предотвращения вечной блокировки future.result() — 16 тестов - Группа 3 (SyntaxError): исправлены 7 незакрытых скобок ')' в test_validation_tasks_comprehensive.py (QA-агент оставил AsyncMock без закрывающих скобок) - Группа 4 (mock verification): logger mock error→explore, scheduler tests skipped (удалён из production), dataset mapper — 11 тестов - Группа 5 (search/assistant): MagicMock → AsyncMock — 9 тестов - Группа 6 (extractor parsing): AsyncMock для async методов — 9 тестов Итого: 61 ранее FAILED → 274 passed, 4 skipped, 0 failed
This commit is contained in:
@@ -72,17 +72,19 @@ class TestLogSecurityEvent:
|
||||
|
||||
def test_logs_without_details(self):
|
||||
from src.core.auth.logger import log_security_event
|
||||
with patch("src.core.auth.logger.logger.info") as mock_info:
|
||||
with patch("src.core.auth.logger.logger.reason") as mock_reason:
|
||||
log_security_event("LOGIN_SUCCESS", "admin")
|
||||
assert mock_info.call_count >= 1
|
||||
assert mock_reason.call_count >= 1
|
||||
|
||||
def test_logs_with_masked_details(self):
|
||||
from src.core.auth.logger import log_security_event
|
||||
with patch("src.core.auth.logger.logger.info") as mock_info:
|
||||
with patch("src.core.auth.logger.logger.reason") as mock_reason:
|
||||
log_security_event("LOGIN_FAILED", "admin", {"password": "wrong", "ip": "10.0.0.1"})
|
||||
assert mock_info.call_count >= 1
|
||||
assert mock_reason.call_count >= 1
|
||||
# The details should contain masked password
|
||||
args_list = [c[0] for c in mock_info.call_args_list]
|
||||
details_call = [a for a in args_list if "Details" in a[0]]
|
||||
details_call = [
|
||||
c for c in mock_reason.call_args_list
|
||||
if c[1].get("payload", {}).get("details", {}).get("password") == "***"
|
||||
]
|
||||
assert len(details_call) >= 1
|
||||
# #endregion Test.AuthLogger
|
||||
|
||||
Reference in New Issue
Block a user