from __future__ import annotations from yuxi.channel.session.user_mapping import ( build_channel_user_uid, is_channel_user, ) class TestBuildChannelUserUid: def test_builds_expected_format(self): assert build_channel_user_uid("feishu", "acc1") == "channel:feishu:acc1" def test_includes_special_characters_verbatim(self): assert build_channel_user_uid("we-com", "acc@123") == "channel:we-com:acc@123" class TestIsChannelUser: def test_channel_prefix_returns_true(self): assert is_channel_user("channel:feishu:acc1") is True def test_non_channel_prefix_returns_false(self): assert is_channel_user("user:123") is False def test_empty_string_returns_false(self): assert is_channel_user("") is False