"""Проверки корректного восстановления дефенгованных URL."""

from __future__ import annotations

from ioc_checker.iocs.text_parser import TextIOCParser


def test_defanged_url_with_bracket_colon() -> None:
    """URL с шаблоном [:] должен корректно распознаваться."""

    parser = TextIOCParser()
    results = parser.parse("Используйте hxxps[:]//example[.]com/report для доступа")

    assert len(results) == 1
    indicator = results[0].indicator
    assert indicator.category == "url"
    assert indicator.value == "https://example.com/report"


def test_defanged_url_preserves_path() -> None:
    """Схема hxxp с дефенгованной точкой должна восстанавливаться с путём."""

    parser = TextIOCParser()
    results = parser.parse("Архив: hxxp[:]//updates[.]example.com/files/archive.zip")

    assert len(results) == 1
    indicator = results[0].indicator
    assert indicator.category == "url"
    assert indicator.value == "http://updates.example.com/files/archive.zip"
