From fcf01469b688339bd30aaa41598cdc29d4991a16 Mon Sep 17 00:00:00 2001 From: Jeny Sadadia Date: Thu, 30 Jun 2022 17:38:21 +0530 Subject: [PATCH] test: add 'event_loop' fixture Default event loop is being closed after running `async` tests from test_pubsub.py. This fails subscribe and unsubscribe handler tests. Need to create an instance for default event loop for all the async tests. Signed-off-by: Jeny Sadadia --- test/conftest.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/conftest.py b/test/conftest.py index b71a92b26..359109e27 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -11,6 +11,7 @@ """pytest fixtures for KernelCI API""" from unittest.mock import AsyncMock +import asyncio import fakeredis.aioredis from fastapi.testclient import TestClient import pytest @@ -35,6 +36,15 @@ def client(): return TestClient(app) +@pytest.fixture +def event_loop(): + """Create an instance of the default event loop for each test case""" + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + yield loop + loop.close() + + @pytest.fixture def mock_db_create(mocker): """Mocks async call to Database class method used to create object"""