feat: stabilize multi-region runtime sync and worker orchestration
This commit is contained in:
44
domainCheck/tests/test_detection_result_schema.py
Normal file
44
domainCheck/tests/test_detection_result_schema.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import sys
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[2]
|
||||
DOMAINCHECK_ROOT = PROJECT_ROOT / "domainCheck"
|
||||
if str(DOMAINCHECK_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(DOMAINCHECK_ROOT))
|
||||
|
||||
from app.utils.detection_results import (
|
||||
build_manual_detection_result,
|
||||
normalize_detector_result,
|
||||
resolve_detection_status,
|
||||
)
|
||||
|
||||
|
||||
class DetectionResultSchemaTests(unittest.TestCase):
|
||||
def test_resolve_detection_status_supports_legacy_key(self):
|
||||
self.assertTrue(resolve_detection_status({"has_收录": True}, "has_收录"))
|
||||
self.assertFalse(resolve_detection_status({"has_history": False}, "has_history"))
|
||||
|
||||
def test_manual_detection_result_preserves_legacy_key(self):
|
||||
result = build_manual_detection_result(True, legacy_key="has_收录")
|
||||
|
||||
self.assertTrue(result["status"])
|
||||
self.assertTrue(result["has_收录"])
|
||||
self.assertEqual("manual", result["state"])
|
||||
|
||||
def test_normalize_jucha_info_bubbles_nested_error(self):
|
||||
normalized = normalize_detector_result(
|
||||
"jucha_info",
|
||||
{
|
||||
"whois": {"error": "HTTP 403"},
|
||||
"beian": {"has_beian": False, "beian_year": "", "is_enterprise": False, "beian_match": False},
|
||||
"intercept": {"normal": True},
|
||||
},
|
||||
)
|
||||
|
||||
self.assertEqual("HTTP 403", normalized["error"])
|
||||
self.assertEqual("error", normalized["state"])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user