From 55d0e0d7bab81a5d9034488c45cf483d15034c1b Mon Sep 17 00:00:00 2001 From: "Daniel (dB.) Doubrovkine" Date: Fri, 10 Nov 2023 13:20:26 -0500 Subject: [PATCH] Fix asyncio warnings/markers. (#574) * Fix asyncio warnings/markers. Signed-off-by: dblock * Allow some flexibility in codecov. Signed-off-by: dblock --------- Signed-off-by: dblock --- .github/codecov.yml | 5 +++++ .../test_async/test_http_connection.py | 5 ++--- .../test_async/test_plugins_client.py | 18 ++++++++++++------ 3 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 .github/codecov.yml diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 00000000..e8abebc3 --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,5 @@ +coverage: + status: + project: + default: + threshold: 0.1% \ No newline at end of file diff --git a/test_opensearchpy/test_async/test_http_connection.py b/test_opensearchpy/test_async/test_http_connection.py index febb231b..94207433 100644 --- a/test_opensearchpy/test_async/test_http_connection.py +++ b/test_opensearchpy/test_async/test_http_connection.py @@ -30,15 +30,12 @@ from typing import Any import mock import pytest -from _pytest.mark.structures import MarkDecorator from multidict import CIMultiDict from opensearchpy._async._extra_imports import aiohttp # type: ignore from opensearchpy._async.compat import get_running_loop from opensearchpy.connection.http_async import AsyncHttpConnection -pytestmark: MarkDecorator = pytest.mark.asyncio - class TestAsyncHttpConnection: def test_auth_as_tuple(self) -> None: @@ -60,6 +57,7 @@ class TestAsyncHttpConnection: c = AsyncHttpConnection(http_auth=auth_fn) assert callable(c._http_auth) + @pytest.mark.asyncio # type: ignore @mock.patch("aiohttp.ClientSession.request", new_callable=mock.Mock) async def test_basicauth_in_request_session(self, mock_request: Any) -> None: async def do_request(*args: Any, **kwargs: Any) -> Any: @@ -91,6 +89,7 @@ class TestAsyncHttpConnection: fingerprint=None, ) + @pytest.mark.asyncio # type: ignore @mock.patch("aiohttp.ClientSession.request", new_callable=mock.Mock) async def test_callable_in_request_session(self, mock_request: Any) -> None: def auth_fn(*args: Any, **kwargs: Any) -> Any: diff --git a/test_opensearchpy/test_async/test_plugins_client.py b/test_opensearchpy/test_async/test_plugins_client.py index d701892c..32a8ec3a 100644 --- a/test_opensearchpy/test_async/test_plugins_client.py +++ b/test_opensearchpy/test_async/test_plugins_client.py @@ -8,18 +8,24 @@ # Modifications Copyright OpenSearch Contributors. See # GitHub history for details. -from unittest import TestCase + +import warnings + +import pytest +from _pytest.mark.structures import MarkDecorator from opensearchpy._async.client import AsyncOpenSearch +pytestmark: MarkDecorator = pytest.mark.asyncio -class TestPluginsClient(TestCase): + +class TestPluginsClient: async def test_plugins_client(self) -> None: - with self.assertWarns(Warning) as w: + with warnings.catch_warnings(record=True) as w: client = AsyncOpenSearch() # testing double-init here client.plugins.__init__(client) # type: ignore - self.assertEqual( - str(w.warnings[0].message), - "Cannot load `alerting` directly to AsyncOpenSearch as it already exists. Use `AsyncOpenSearch.plugin.alerting` instead.", + assert ( + str(w[0].message) + == "Cannot load `alerting` directly to AsyncOpenSearch as it already exists. Use `AsyncOpenSearch.plugin.alerting` instead." )