import nonebot nonebot.init() from konabot.plugins.handle_text.__init__ import _get_textfx_user_key class DummyEvent: def __init__(self, self_id=None, user_id=None, group_id=None, session_id=None): self.self_id = self_id self.user_id = user_id self.group_id = group_id self._session_id = session_id def get_session_id(self): if self._session_id is None: raise RuntimeError('no session') return self._session_id def test_textfx_user_key_group(): evt = DummyEvent(self_id='123', user_id='456', group_id='789') assert _get_textfx_user_key(evt) == '123:789:456' def test_textfx_user_key_private(): evt = DummyEvent(self_id='123', user_id='456') assert _get_textfx_user_key(evt) == '123:private:456' def test_textfx_user_key_session_fallback(): evt = DummyEvent(session_id='console:alice') assert _get_textfx_user_key(evt) == 'session:console:alice'