"""Проверки распознавания IP-адресов с различными дефенгами."""

from __future__ import annotations

from ioc_checker.iocs.text_parser import TextIOCParser


def test_ip_with_bracketed_dots() -> None:
    """Дефенгованные точки должны восстанавливаться в адрес."""

    parser = TextIOCParser()
    results = parser.parse("Подозрительный узел 8[.]8[.]4[.]4 использовался в атаке")

    assert len(results) == 1
    indicator = results[0].indicator
    assert indicator.category == "ip"
    assert indicator.value == "8.8.4.4"


def test_ip_with_parenthesized_dots() -> None:
    """Вариант с (dot) также должен корректно обрабатываться."""

    parser = TextIOCParser()
    results = parser.parse("Обнаружен поток с 192(dot)168(dot)10(dot)5")

    assert len(results) == 1
    indicator = results[0].indicator
    assert indicator.category == "ip"
    assert indicator.value == "192.168.10.5"
