Files
syn-chat-bot/.venv/lib/python3.9/site-packages/icalendar/tests/test_unit_tools.py
Hyungi Ahn c2257d3a86 fix: 포트 충돌 회피 — note_bridge 8098, intent_service 8099
Jellyfin(8096), OrbStack(8097) 포트 충돌으로 변경.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:53:55 +09:00

89 lines
2.3 KiB
Python

import unittest
import pytest
from icalendar.tools import UIDGenerator
class TestTools(unittest.TestCase):
def test_tools_UIDGenerator(self):
# Automatic semi-random uid
g = UIDGenerator()
uid = g.uid()
txt = uid.to_ical()
length = 15 + 1 + 16 + 1 + 11
self.assertEqual(len(txt), length)
self.assertIn(b"@example.com", txt)
# You should at least insert your own hostname to be more compliant
uid = g.uid("Example.ORG")
txt = uid.to_ical()
self.assertEqual(len(txt), length)
self.assertIn(b"@Example.ORG", txt)
# You can also insert a path or similar
uid = g.uid("Example.ORG", "/path/to/content")
txt = uid.to_ical()
self.assertEqual(len(txt), length)
self.assertIn(b"-/path/to/content@Example.ORG", txt)
@pytest.mark.parametrize(
("split", "expected", "args", "kw"),
[
# default argument host_name
(
"@",
"example.com",
(),
{},
),
("@", "example.com", ("example.com",), {}),
("@", "example.com", (), {"host_name": "example.com"}),
# replaced host_name
("@", "test.test", ("test.test",), {}),
("@", "test.test", (), {"host_name": "test.test"}),
# replace unique
(
"-",
"123@example.com",
(),
{"unique": "123"},
),
(
"-",
"abc@example.com",
(),
{"unique": "abc"},
),
# replace host_name and unique
(
"-",
"1234@test.icalendar",
(),
{"unique": "1234", "host_name": "test.icalendar"},
),
(
"-",
"abc@test.example.com",
("test.example.com", "abc"),
{},
),
],
)
def test_uid_generator_issue_345(args, kw, split, expected):
"""Issue #345 - Why is tools.UIDGenerator a class (that must be instantiated) instead of a module?
see https://github.com/collective/icalendar/issues/345
"""
uid = UIDGenerator.uid(*args, **kw)
assert uid.split(split)[1] == expected
def test_warning():
with pytest.warns(DeprecationWarning):
UIDGenerator.uid()
with pytest.warns(DeprecationWarning):
UIDGenerator.rnd_string()