Skip to content

Commit 087b440

Browse files
Merge pull request #2055 from VWS-Python/pyright-enable
Enable pyright on test_docker
2 parents eea334b + f1e2619 commit 087b440

File tree

2 files changed

+16
-20
lines changed

2 files changed

+16
-20
lines changed

pyproject.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ dev = [
318318
"sybil==6.1.0",
319319
"tenacity==8.2.3",
320320
"torch==2.3.0",
321-
"types-docker==7.0.0.20240507", # This is very incomplete, so we still do not check ``test_docker.py`` with pyright.
321+
"types-docker==7.0.0.20240507",
322322
"types-Pillow==10.2.0.20240423",
323323
"types-PyYAML==6.0.12.20240311",
324324
"types-requests==2.31.0.20240406",
@@ -348,9 +348,6 @@ keep_full_version = true
348348
[tool.pyright]
349349
reportUnnecessaryTypeIgnoreComment = true
350350
typeCheckingMode = "strict"
351-
# We have too many errors because of
352-
# docker-py not being typed.
353-
ignore = ["tests/mock_vws/test_docker.py"]
354351

355352
[tool.deptry]
356353
pep621_dev_dependency_groups = ["dev"]

tests/mock_vws/test_docker.py

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import requests
1414
from docker.errors import BuildError, NotFound
1515
from docker.models.containers import Container
16+
from docker.models.images import Image
1617
from docker.models.networks import Network
1718
from mock_vws.database import VuforiaDatabase
1819
from tenacity import retry
@@ -25,8 +26,6 @@
2526
import io
2627
from collections.abc import Iterator
2728

28-
from docker.models.images import Image
29-
3029

3130
# We do not cover this function because hitting particular branches depends on
3231
# timing.
@@ -67,16 +66,16 @@ def fixture_custom_bridge_network() -> Iterator[Network]:
6766
Yields:
6867
A custom bridge network.
6968
"""
70-
client = docker.from_env()
69+
client = docker.from_env() # pyright: ignore[reportUnknownMemberType]
7170
try:
72-
network = client.networks.create(
71+
network = client.networks.create( # pyright: ignore[reportUnknownMemberType]
7372
name="test-vws-bridge-" + uuid.uuid4().hex,
7473
driver="bridge",
7574
)
7675
except NotFound:
7776
# On Windows the "bridge" network driver is not available and we use
7877
# the "nat" driver instead.
79-
network = client.networks.create(
78+
network = client.networks.create( # pyright: ignore[reportUnknownMemberType]
8079
name="test-vws-bridge-" + uuid.uuid4().hex,
8180
driver="nat",
8281
)
@@ -89,10 +88,10 @@ def fixture_custom_bridge_network() -> Iterator[Network]:
8988
network.reload()
9089
images_to_remove: set[Image] = set()
9190
for container in network.containers:
92-
assert isinstance(container, Container)
93-
network.disconnect(container=container)
94-
container.stop()
95-
container.remove(v=True, force=True)
91+
network.disconnect(container=container) # pyright: ignore[reportUnknownMemberType]
92+
container.stop() # pyright: ignore[reportUnknownMemberType]
93+
container.remove(v=True, force=True) # pyright: ignore[reportUnknownMemberType]
94+
assert isinstance(container.image, Image) # pyright: ignore[reportUnknownMemberType]
9695
images_to_remove.add(container.image)
9796

9897
# This does leave behind untagged images.
@@ -112,7 +111,7 @@ def test_build_and_run(
112111
application.
113112
"""
114113
repository_root = request.config.rootpath
115-
client = docker.from_env()
114+
client = docker.from_env() # pyright: ignore[reportUnknownMemberType]
116115

117116
dockerfile = repository_root / "src/mock_vws/_flask_server/Dockerfile"
118117

@@ -122,7 +121,7 @@ def test_build_and_run(
122121
vwq_tag = f"vws-mock-vwq:latest-{random}"
123122

124123
try:
125-
target_manager_image, _ = client.images.build(
124+
target_manager_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
126125
path=str(repository_root),
127126
dockerfile=str(dockerfile),
128127
tag=target_manager_tag,
@@ -143,15 +142,15 @@ def test_build_and_run(
143142
reason="We do not currently support using Windows containers."
144143
)
145144

146-
vwq_image, _ = client.images.build(
145+
vwq_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
147146
path=str(repository_root),
148147
dockerfile=str(dockerfile),
149148
tag=vwq_tag,
150149
target="vwq",
151150
rm=True,
152151
)
153152

154-
vws_image, _ = client.images.build(
153+
vws_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
155154
path=str(repository_root),
156155
dockerfile=str(dockerfile),
157156
tag=vws_tag,
@@ -165,14 +164,14 @@ def test_build_and_run(
165164
f"http://{target_manager_container_name}:5000"
166165
)
167166

168-
target_manager_container = client.containers.run(
167+
target_manager_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
169168
image=target_manager_image,
170169
detach=True,
171170
name=target_manager_container_name,
172171
publish_all_ports=True,
173172
network=custom_bridge_network.name,
174173
)
175-
vws_container = client.containers.run(
174+
vws_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
176175
image=vws_image,
177176
detach=True,
178177
name="vws-mock-vws-" + random,
@@ -182,7 +181,7 @@ def test_build_and_run(
182181
"TARGET_MANAGER_BASE_URL": target_manager_internal_base_url,
183182
},
184183
)
185-
vwq_container = client.containers.run(
184+
vwq_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
186185
image=vwq_image,
187186
detach=True,
188187
name="vws-mock-vwq-" + random,

0 commit comments

Comments
 (0)