Skip to content

Commit 49e59d4

Browse files
PYTHON-5661 Bump mypy from 1.18.2 to 1.19.0 (#2629)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Steven Silvester <steven.silvester@ieee.org> Co-authored-by: Steven Silvester <steve.silvester@mongodb.com>
1 parent e7aab56 commit 49e59d4

File tree

10 files changed

+160
-62
lines changed

10 files changed

+160
-62
lines changed

pymongo/asynchronous/topology.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def __init__(self, topology_settings: TopologySettings):
111111
self._publish_tp = self._listeners is not None and self._listeners.enabled_for_topology
112112

113113
# Create events queue if there are publishers.
114-
self._events = None
114+
self._events: queue.Queue[Any] | None = None
115115
self.__events_executor: Any = None
116116

117117
if self._publish_server or self._publish_tp:
@@ -126,6 +126,7 @@ def __init__(self, topology_settings: TopologySettings):
126126

127127
if self._publish_tp:
128128
assert self._events is not None
129+
assert self._listeners is not None
129130
self._events.put((self._listeners.publish_topology_opened, (self._topology_id,)))
130131
self._settings = topology_settings
131132
topology_description = TopologyDescription(
@@ -143,6 +144,7 @@ def __init__(self, topology_settings: TopologySettings):
143144
)
144145
if self._publish_tp:
145146
assert self._events is not None
147+
assert self._listeners is not None
146148
self._events.put(
147149
(
148150
self._listeners.publish_topology_description_changed,
@@ -161,6 +163,7 @@ def __init__(self, topology_settings: TopologySettings):
161163
for seed in topology_settings.seeds:
162164
if self._publish_server:
163165
assert self._events is not None
166+
assert self._listeners is not None
164167
self._events.put((self._listeners.publish_server_opened, (seed, self._topology_id)))
165168
if _SDAM_LOGGER.isEnabledFor(logging.DEBUG):
166169
_debug_log(
@@ -491,6 +494,7 @@ async def _process_change(
491494
suppress_event = sd_old == server_description
492495
if self._publish_server and not suppress_event:
493496
assert self._events is not None
497+
assert self._listeners is not None
494498
self._events.put(
495499
(
496500
self._listeners.publish_server_description_changed,
@@ -503,6 +507,7 @@ async def _process_change(
503507

504508
if self._publish_tp and not suppress_event:
505509
assert self._events is not None
510+
assert self._listeners is not None
506511
self._events.put(
507512
(
508513
self._listeners.publish_topology_description_changed,
@@ -570,6 +575,7 @@ async def _process_srv_update(self, seedlist: list[tuple[str, Any]]) -> None:
570575

571576
if self._publish_tp:
572577
assert self._events is not None
578+
assert self._listeners is not None
573579
self._events.put(
574580
(
575581
self._listeners.publish_topology_description_changed,
@@ -723,6 +729,7 @@ async def close(self) -> None:
723729
# Publish only after releasing the lock.
724730
if self._publish_tp:
725731
assert self._events is not None
732+
assert self._listeners is not None
726733
self._description = TopologyDescription(
727734
TOPOLOGY_TYPE.Unknown,
728735
{},

pymongo/synchronous/topology.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def __init__(self, topology_settings: TopologySettings):
111111
self._publish_tp = self._listeners is not None and self._listeners.enabled_for_topology
112112

113113
# Create events queue if there are publishers.
114-
self._events = None
114+
self._events: queue.Queue[Any] | None = None
115115
self.__events_executor: Any = None
116116

117117
if self._publish_server or self._publish_tp:
@@ -126,6 +126,7 @@ def __init__(self, topology_settings: TopologySettings):
126126

127127
if self._publish_tp:
128128
assert self._events is not None
129+
assert self._listeners is not None
129130
self._events.put((self._listeners.publish_topology_opened, (self._topology_id,)))
130131
self._settings = topology_settings
131132
topology_description = TopologyDescription(
@@ -143,6 +144,7 @@ def __init__(self, topology_settings: TopologySettings):
143144
)
144145
if self._publish_tp:
145146
assert self._events is not None
147+
assert self._listeners is not None
146148
self._events.put(
147149
(
148150
self._listeners.publish_topology_description_changed,
@@ -161,6 +163,7 @@ def __init__(self, topology_settings: TopologySettings):
161163
for seed in topology_settings.seeds:
162164
if self._publish_server:
163165
assert self._events is not None
166+
assert self._listeners is not None
164167
self._events.put((self._listeners.publish_server_opened, (seed, self._topology_id)))
165168
if _SDAM_LOGGER.isEnabledFor(logging.DEBUG):
166169
_debug_log(
@@ -491,6 +494,7 @@ def _process_change(
491494
suppress_event = sd_old == server_description
492495
if self._publish_server and not suppress_event:
493496
assert self._events is not None
497+
assert self._listeners is not None
494498
self._events.put(
495499
(
496500
self._listeners.publish_server_description_changed,
@@ -503,6 +507,7 @@ def _process_change(
503507

504508
if self._publish_tp and not suppress_event:
505509
assert self._events is not None
510+
assert self._listeners is not None
506511
self._events.put(
507512
(
508513
self._listeners.publish_topology_description_changed,
@@ -570,6 +575,7 @@ def _process_srv_update(self, seedlist: list[tuple[str, Any]]) -> None:
570575

571576
if self._publish_tp:
572577
assert self._events is not None
578+
assert self._listeners is not None
573579
self._events.put(
574580
(
575581
self._listeners.publish_topology_description_changed,
@@ -721,6 +727,7 @@ def close(self) -> None:
721727
# Publish only after releasing the lock.
722728
if self._publish_tp:
723729
assert self._events is not None
730+
assert self._listeners is not None
724731
self._description = TopologyDescription(
725732
TOPOLOGY_TYPE.Unknown,
726733
{},

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ mockupdb = [
5959
]
6060
perf = ["simplejson>=3.17.0"]
6161
typing = [
62-
"mypy==1.18.2",
62+
"mypy==1.19.0",
6363
"pyright==1.1.407",
6464
"typing_extensions",
6565
"pip"

test/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ def create_user(self, dbname, user, pwd=None, roles=None, **kwargs):
482482
def drop_user(self, dbname, user):
483483
self.client[dbname].command("dropUser", user, writeConcern={"w": self.w})
484484

485-
def require_connection(self, func):
485+
def require_connection(self, func: Any) -> Any:
486486
"""Run a test only if we can connect to MongoDB."""
487487
return self._require(
488488
lambda: True, # _require checks if we're connected
@@ -552,7 +552,7 @@ def require_no_fips(self, func):
552552
lambda: not self.fips_enabled, "Test cannot run on a FIPS-enabled host", func=func
553553
)
554554

555-
def require_replica_set(self, func):
555+
def require_replica_set(self, func: Any) -> Any:
556556
"""Run a test only if the client is connected to a replica set."""
557557
return self._require(lambda: self.is_rs, "Not connected to a replica set", func=func)
558558

@@ -638,7 +638,7 @@ def require_load_balancer(self, func):
638638
lambda: self.load_balancer, "Must be connected to a load balancer", func=func
639639
)
640640

641-
def require_no_load_balancer(self, func):
641+
def require_no_load_balancer(self, func: Any) -> Any:
642642
"""Run a test only if the client is not connected to a load balancer."""
643643
return self._require(
644644
lambda: not self.load_balancer, "Must not be connected to a load balancer", func=func
@@ -687,7 +687,7 @@ def require_test_commands(self, func):
687687
lambda: self.test_commands_enabled, "Test commands must be enabled", func=func
688688
)
689689

690-
def require_failCommand_fail_point(self, func):
690+
def require_failCommand_fail_point(self, func: Any) -> Any:
691691
"""Run a test only if the server supports the failCommand fail
692692
point.
693693
"""

test/asynchronous/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ async def create_user(self, dbname, user, pwd=None, roles=None, **kwargs):
482482
async def drop_user(self, dbname, user):
483483
await self.client[dbname].command("dropUser", user, writeConcern={"w": self.w})
484484

485-
def require_connection(self, func):
485+
def require_connection(self, func: Any) -> Any:
486486
"""Run a test only if we can connect to MongoDB."""
487487
return self._require(
488488
lambda: True, # _require checks if we're connected
@@ -552,7 +552,7 @@ def require_no_fips(self, func):
552552
lambda: not self.fips_enabled, "Test cannot run on a FIPS-enabled host", func=func
553553
)
554554

555-
def require_replica_set(self, func):
555+
def require_replica_set(self, func: Any) -> Any:
556556
"""Run a test only if the client is connected to a replica set."""
557557
return self._require(lambda: self.is_rs, "Not connected to a replica set", func=func)
558558

@@ -638,7 +638,7 @@ def require_load_balancer(self, func):
638638
lambda: self.load_balancer, "Must be connected to a load balancer", func=func
639639
)
640640

641-
def require_no_load_balancer(self, func):
641+
def require_no_load_balancer(self, func: Any) -> Any:
642642
"""Run a test only if the client is not connected to a load balancer."""
643643
return self._require(
644644
lambda: not self.load_balancer, "Must not be connected to a load balancer", func=func
@@ -687,7 +687,7 @@ def require_test_commands(self, func):
687687
lambda: self.test_commands_enabled, "Test commands must be enabled", func=func
688688
)
689689

690-
def require_failCommand_fail_point(self, func):
690+
def require_failCommand_fail_point(self, func: Any) -> Any:
691691
"""Run a test only if the server supports the failCommand fail
692692
point.
693693
"""

test/asynchronous/test_change_stream.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -771,8 +771,8 @@ async def test_split_large_change(self):
771771
class TestClusterAsyncChangeStream(TestAsyncChangeStreamBase, APITestsMixin):
772772
dbs: list
773773

774-
@async_client_context.require_version_min(4, 2, 0)
775-
@async_client_context.require_change_streams
774+
@async_client_context.require_version_min(4, 2, 0) # type:ignore[untyped-decorator]
775+
@async_client_context.require_change_streams # type:ignore[untyped-decorator]
776776
async def asyncSetUp(self) -> None:
777777
await super().asyncSetUp()
778778
self.dbs = [self.db, self.client.pymongo_test_2]
@@ -831,8 +831,8 @@ async def test_full_pipeline(self):
831831

832832

833833
class TestAsyncDatabaseAsyncChangeStream(TestAsyncChangeStreamBase, APITestsMixin):
834-
@async_client_context.require_version_min(4, 2, 0)
835-
@async_client_context.require_change_streams
834+
@async_client_context.require_version_min(4, 2, 0) # type:ignore[untyped-decorator]
835+
@async_client_context.require_change_streams # type:ignore[untyped-decorator]
836836
async def asyncSetUp(self) -> None:
837837
await super().asyncSetUp()
838838

test/asynchronous/test_encryption.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class AsyncEncryptionIntegrationTest(AsyncIntegrationTest):
233233
"""Base class for encryption integration tests."""
234234

235235
@unittest.skipUnless(_HAVE_PYMONGOCRYPT, "pymongocrypt is not installed")
236-
@async_client_context.require_version_min(4, 2, -1)
236+
@async_client_context.require_version_min(4, 2, -1) # type:ignore[untyped-decorator]
237237
async def asyncSetUp(self) -> None:
238238
await super().asyncSetUp()
239239

test/test_change_stream.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -757,8 +757,8 @@ def test_split_large_change(self):
757757
class TestClusterChangeStream(TestChangeStreamBase, APITestsMixin):
758758
dbs: list
759759

760-
@client_context.require_version_min(4, 2, 0)
761-
@client_context.require_change_streams
760+
@client_context.require_version_min(4, 2, 0) # type:ignore[untyped-decorator]
761+
@client_context.require_change_streams # type:ignore[untyped-decorator]
762762
def setUp(self) -> None:
763763
super().setUp()
764764
self.dbs = [self.db, self.client.pymongo_test_2]
@@ -817,8 +817,8 @@ def test_full_pipeline(self):
817817

818818

819819
class TestDatabaseChangeStream(TestChangeStreamBase, APITestsMixin):
820-
@client_context.require_version_min(4, 2, 0)
821-
@client_context.require_change_streams
820+
@client_context.require_version_min(4, 2, 0) # type:ignore[untyped-decorator]
821+
@client_context.require_change_streams # type:ignore[untyped-decorator]
822822
def setUp(self) -> None:
823823
super().setUp()
824824

test/test_encryption.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class EncryptionIntegrationTest(IntegrationTest):
233233
"""Base class for encryption integration tests."""
234234

235235
@unittest.skipUnless(_HAVE_PYMONGOCRYPT, "pymongocrypt is not installed")
236-
@client_context.require_version_min(4, 2, -1)
236+
@client_context.require_version_min(4, 2, -1) # type:ignore[untyped-decorator]
237237
def setUp(self) -> None:
238238
super().setUp()
239239

0 commit comments

Comments
 (0)