From: Denis Laxalde Date: Fri, 5 Nov 2021 08:17:54 +0000 (+0100) Subject: Ignore (false) Mypy attr-defined error in dns tests X-Git-Tag: 3.0.3~3^2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2ba8d0e451087470f7d64ad65463cf2866c91ff;p=thirdparty%2Fpsycopg.git Ignore (false) Mypy attr-defined error in dns tests On test_dns*.py, Mypy raises: error: Module has no attribute "resolve_hostaddr_async" [attr-defined] error: Module has no attribute "resolve_srv" [attr-defined] These are wrong since psycopg._dns actually has these names defined. That's probably a mypy bug. --- diff --git a/tests/test_dns.py b/tests/test_dns.py index 974ac6056..59affcbcb 100644 --- a/tests/test_dns.py +++ b/tests/test_dns.py @@ -47,7 +47,9 @@ async def test_resolve_hostaddr_async_no_resolve( for k, v in env.items(): monkeypatch.setenv(k, v) params = conninfo_to_dict(conninfo) - params = await psycopg._dns.resolve_hostaddr_async(params) + params = await psycopg._dns.resolve_hostaddr_async( # type: ignore[attr-defined] + params + ) assert conninfo_to_dict(want) == params @@ -94,7 +96,9 @@ async def test_resolve_hostaddr_async_no_resolve( @pytest.mark.asyncio async def test_resolve_hostaddr_async(conninfo, want, env, fake_resolve): params = conninfo_to_dict(conninfo) - params = await psycopg._dns.resolve_hostaddr_async(params) + params = await psycopg._dns.resolve_hostaddr_async( # type: ignore[attr-defined] + params + ) assert conninfo_to_dict(want) == params @@ -116,7 +120,9 @@ async def test_resolve_hostaddr_async_bad( monkeypatch.setenv(k, v) params = conninfo_to_dict(conninfo) with pytest.raises((TypeError, psycopg.Error)): - await psycopg._dns.resolve_hostaddr_async(params) + await psycopg._dns.resolve_hostaddr_async( # type: ignore[attr-defined] + params + ) @pytest.mark.asyncio @@ -136,7 +142,11 @@ async def test_resolve_hostaddr_conn(monkeypatch, fake_resolve): @classmethod async def _get_connection_params(cls, conninfo, **kwargs): params = await super()._get_connection_params(conninfo, **kwargs) - params = await psycopg._dns.resolve_hostaddr_async(params) + params = await ( + psycopg._dns.resolve_hostaddr_async( # type: ignore[attr-defined] + params + ) + ) return params with pytest.raises(ZeroDivisionError): @@ -168,7 +178,11 @@ def fake_resolve(monkeypatch): else: return [dns.rdtypes.IN.A.A("IN", "A", addr)] - monkeypatch.setattr(psycopg._dns.async_resolver, "resolve", fake_resolve_) + monkeypatch.setattr( + psycopg._dns.async_resolver, # type: ignore[attr-defined] + "resolve", + fake_resolve_, + ) @pytest.fixture @@ -178,7 +192,11 @@ def fail_resolve(monkeypatch): async def fail_resolve_(qname): pytest.fail(f"shouldn't try to resolve {qname}") - monkeypatch.setattr(psycopg._dns.async_resolver, "resolve", fail_resolve_) + monkeypatch.setattr( + psycopg._dns.async_resolver, # type: ignore[attr-defined] + "resolve", + fail_resolve_, + ) def import_dnspython(): diff --git a/tests/test_dns_srv.py b/tests/test_dns_srv.py index 0abb69fd9..30ac1f556 100644 --- a/tests/test_dns_srv.py +++ b/tests/test_dns_srv.py @@ -53,7 +53,7 @@ def test_srv(conninfo, want, env, fake_srv, retries, monkeypatch): for retry in retries: with retry: params = conninfo_to_dict(conninfo) - params = psycopg._dns.resolve_srv(params) + params = psycopg._dns.resolve_srv(params) # type: ignore[attr-defined] assert conninfo_to_dict(want) == params @@ -66,7 +66,11 @@ async def test_srv_async(conninfo, want, env, afake_srv, retries, monkeypatch): async for retry in retries: with retry: params = conninfo_to_dict(conninfo) - params = await psycopg._dns.resolve_srv_async(params) + params = await ( + psycopg._dns.resolve_srv_async( # type: ignore[attr-defined] + params + ) + ) assert conninfo_to_dict(want) == params @@ -83,7 +87,7 @@ def test_srv_bad(conninfo, env, fake_srv, monkeypatch): monkeypatch.setenv(k, v) params = conninfo_to_dict(conninfo) with pytest.raises(psycopg.OperationalError): - psycopg._dns.resolve_srv(params) + psycopg._dns.resolve_srv(params) # type: ignore[attr-defined] @pytest.mark.asyncio @@ -94,13 +98,17 @@ async def test_srv_bad_async(conninfo, env, afake_srv, monkeypatch): monkeypatch.setenv(k, v) params = conninfo_to_dict(conninfo) with pytest.raises(psycopg.OperationalError): - await psycopg._dns.resolve_srv_async(params) + await psycopg._dns.resolve_srv_async(params) # type: ignore[attr-defined] @pytest.fixture def fake_srv(monkeypatch): f = get_fake_srv_function(monkeypatch) - monkeypatch.setattr(psycopg._dns.resolver, "resolve", f) + monkeypatch.setattr( + psycopg._dns.resolver, # type: ignore[attr-defined] + "resolve", + f, + ) @pytest.fixture @@ -110,7 +118,11 @@ def afake_srv(monkeypatch): async def af(qname, rdtype): return f(qname, rdtype) - monkeypatch.setattr(psycopg._dns.async_resolver, "resolve", af) + monkeypatch.setattr( + psycopg._dns.async_resolver, # type: ignore[attr-defined] + "resolve", + af, + ) def get_fake_srv_function(monkeypatch):