Skip to content

Commit

Permalink
Fix asyncio warnings/markers. (#574)
Browse files Browse the repository at this point in the history
* Fix asyncio warnings/markers.

Signed-off-by: dblock <[email protected]>

* Allow some flexibility in codecov.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
  • Loading branch information
dblock authored Nov 10, 2023
1 parent d8dc547 commit 55d0e0d
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 9 deletions.
5 changes: 5 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
coverage:
status:
project:
default:
threshold: 0.1%
5 changes: 2 additions & 3 deletions test_opensearchpy/test_async/test_http_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,12 @@

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:
Expand All @@ -60,6 +57,7 @@ def auth_fn() -> None:
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:
Expand Down Expand Up @@ -91,6 +89,7 @@ async def do_request(*args: Any, **kwargs: Any) -> Any:
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:
Expand Down
18 changes: 12 additions & 6 deletions test_opensearchpy/test_async/test_plugins_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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."
)

0 comments on commit 55d0e0d

Please sign in to comment.