Implements core bot infrastructure: - modality_map: channel name to modality string mapping (personal_text, voice, fb_messenger, nd_messenger) - config: Config dataclass with env-driven configuration loading for Discord, backend, and email IMAP credentials - backend_client: async HTTP client for posting items to backend /items endpoint All modality_map tests passing (3/3)
17 lines
680 B
Python
17 lines
680 B
Python
from chorus_bot import modality_map
|
|
|
|
|
|
def test_known_channels_map_to_modalities():
|
|
assert modality_map.modality_for_channel("personal-text") == "personal_text"
|
|
assert modality_map.modality_for_channel("voice") == "voice"
|
|
assert modality_map.modality_for_channel("fb-messenger") == "fb_messenger"
|
|
assert modality_map.modality_for_channel("nd-messenger") == "nd_messenger"
|
|
|
|
|
|
def test_unknown_channel_returns_none():
|
|
assert modality_map.modality_for_channel("random-chat") is None
|
|
|
|
|
|
def test_inbox_and_general_channels_are_not_mapped():
|
|
assert modality_map.modality_for_channel("inbox") is None
|
|
assert modality_map.modality_for_channel("general") is None
|