Files
getDomain/domainCheck/tests/test_detection_result_schema.py

45 lines
1.5 KiB
Python

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()