mirror of
https://github.com/Ichinga-Samuel/aiomql.git
synced 2026-07-29 05:07:43 +00:00
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
import asyncio
|
|
|
|
import pytest
|
|
|
|
from aiomql.lib.bot import Bot
|
|
|
|
|
|
class TestBotFactoryAndExecutor:
|
|
@classmethod
|
|
def setup_class(cls):
|
|
cls.bot = Bot()
|
|
cls.sync_bot = Bot()
|
|
|
|
@pytest.fixture(scope="class", autouse=True)
|
|
async def initialize(self):
|
|
self.bot.add_coroutine(coroutine=self.coro_one)
|
|
self.bot.add_coroutine(coroutine=self.coro_two)
|
|
self.bot.add_function(function=self.fun_one)
|
|
self.bot.add_coroutine(coroutine=self.coro_thread, on_separate_thread=True)
|
|
await self.bot.initialize()
|
|
|
|
@pytest.fixture(scope="class", autouse=True)
|
|
def initialize_sync(self):
|
|
self.sync_bot.add_coroutine(coroutine=self.coro_one)
|
|
self.sync_bot.add_coroutine(coroutine=self.coro_two)
|
|
self.sync_bot.add_function(function=self.fun_one)
|
|
self.sync_bot.add_coroutine(coroutine=self.coro_thread, on_separate_thread=True)
|
|
self.sync_bot.initialize_sync()
|
|
|
|
@staticmethod
|
|
def fun_one():
|
|
print("function one")
|
|
|
|
@staticmethod
|
|
async def coro_thread():
|
|
while True:
|
|
print("coroutine thread")
|
|
await asyncio.sleep(1)
|
|
|
|
@staticmethod
|
|
async def coro_one():
|
|
while True:
|
|
print("coroutine one")
|
|
await asyncio.sleep(1)
|
|
|
|
@staticmethod
|
|
async def coro_two():
|
|
while True:
|
|
print("coroutine two")
|
|
await asyncio.sleep(1)
|
|
|
|
def test_add_workers(self):
|
|
assert len(self.bot.executor.coroutines) == 3
|
|
assert len(self.bot.executor.functions) == 1
|
|
# task_queue already added coroutine_thread
|
|
assert len(self.bot.executor.coroutine_threads) == 2
|
|
|
|
def test_sync_add_workers(self):
|
|
assert len(self.sync_bot.executor.coroutines) == 3
|
|
assert len(self.sync_bot.executor.functions) == 1
|
|
# task_queue already added coroutine_thread
|
|
assert len(self.sync_bot.executor.coroutine_threads) == 2
|