fix: 포트 충돌 회피 — note_bridge 8098, intent_service 8099
Jellyfin(8096), OrbStack(8097) 포트 충돌으로 변경. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user