{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/tests\/unit\/domain\/test_url_entity.py",
"content": "from __future__ import annotations\n\nfrom datetime import datetime, timedelta\n\nimport pytest\n\nfrom src.domain.entities.url import Url\nfrom src.domain.value_objects.normalized_url import normalize\n\n\ndef _url(first_seen: datetime, last_seen: datetime) -> Url:\n return Url(\n id=None,\n normalized=normalize(\"https:\/\/example.com\/\"),\n is_internal=True,\n first_seen_at=first_seen,\n last_seen_at=last_seen,\n )\n\n\ndef test_last_seen_before_first_seen_raises() -> None:\n start = datetime(2026, 4, 21, 12, 0, 0)\n with pytest.raises(ValueError):\n _url(start, start - timedelta(seconds=1))\n\n\ndef test_equal_timestamps_ok() -> None:\n start = datetime(2026, 4, 21, 12, 0, 0)\n url = _url(start, start)\n assert url.first_seen_at == url.last_seen_at\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/tests\/unit\/domain\/test_url_entity.py",
"content": "from __future__ import annotations\n\nfrom datetime import datetime, timedelta\n\nimport pytest\n\nfrom src.domain.entities.url import Url\nfrom src.domain.value_objects.normalized_url import normalize\n\n\ndef _url(first_seen: datetime, last_seen: datetime) -> Url:\n return Url(\n id=None,\n normalized=normalize(\"https:\/\/example.com\/\"),\n is_internal=True,\n first_seen_at=first_seen,\n last_seen_at=last_seen,\n )\n\n\ndef test_last_seen_before_first_seen_raises() -> None:\n start = datetime(2026, 4, 21, 12, 0, 0)\n with pytest.raises(ValueError):\n _url(start, start - timedelta(seconds=1))\n\n\ndef test_equal_timestamps_ok() -> None:\n start = datetime(2026, 4, 21, 12, 0, 0)\n url = _url(start, start)\n assert url.first_seen_at == url.last_seen_at\n",
"structuredPatch": [],
"originalFile": null,
"userModified": false
}
}