mirror of
https://github.com/chatmail/core.git
synced 2026-04-03 22:12:11 +03:00
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import echo_and_quit
|
|
import py
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def datadir():
|
|
"""The py.path.local object of the test-data/ directory."""
|
|
for path in reversed(py.path.local(__file__).parts()):
|
|
datadir = path.join("test-data")
|
|
if datadir.isdir():
|
|
return datadir
|
|
pytest.skip("test-data directory not found")
|
|
return None
|
|
|
|
|
|
@pytest.mark.skip("The test is flaky in CI and crashes the interpreter as of 2025-11-12")
|
|
def test_echo_quit_plugin(acfactory, lp):
|
|
lp.sec("creating one echo_and_quit bot")
|
|
botproc = acfactory.run_bot_process(echo_and_quit)
|
|
|
|
lp.sec("creating a temp account to contact the bot")
|
|
(ac1,) = acfactory.get_online_accounts(1)
|
|
|
|
lp.sec("sending a message to the bot")
|
|
bot_chat = ac1.qr_setup_contact(botproc.qr)
|
|
ac1._evtracker.wait_securejoin_joiner_progress(1000)
|
|
bot_chat.send_text("hello")
|
|
|
|
lp.sec("waiting for the reply message from the bot to arrive")
|
|
reply = ac1._evtracker.wait_next_incoming_message()
|
|
assert reply.chat == bot_chat
|
|
assert "hello" in reply.text
|
|
lp.sec("send quit sequence")
|
|
bot_chat.send_text("/quit")
|
|
botproc.wait()
|