Skip to content

Commit 731645b

Browse files
committed
Enable pyright on test_docker
1 parent dabc773 commit 731645b

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
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.20240506", # This is very incomplete, so we still do not check ``test_docker.py`` with pyright.
321+
"types-docker==7.0.0.20240506",
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: 13 additions & 13 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,7 +26,6 @@
2526
import io
2627
from collections.abc import Iterator
2728

28-
from docker.models.images import Image
2929

3030

3131
# We do not cover this function because hitting particular branches depends on
@@ -67,16 +67,16 @@ def fixture_custom_bridge_network() -> Iterator[Network]:
6767
Yields:
6868
A custom bridge network.
6969
"""
70-
client = docker.from_env()
70+
client = docker.from_env() # pyright: ignore[reportUnknownMemberType]
7171
try:
72-
network = client.networks.create(
72+
network = client.networks.create( # pyright: ignore[reportUnknownMemberType]
7373
name="test-vws-bridge-" + uuid.uuid4().hex,
7474
driver="bridge",
7575
)
7676
except NotFound:
7777
# On Windows the "bridge" network driver is not available and we use
7878
# the "nat" driver instead.
79-
network = client.networks.create(
79+
network = client.networks.create( # pyright: ignore[reportUnknownMemberType]
8080
name="test-vws-bridge-" + uuid.uuid4().hex,
8181
driver="nat",
8282
)
@@ -89,10 +89,10 @@ def fixture_custom_bridge_network() -> Iterator[Network]:
8989
network.reload()
9090
images_to_remove: set[Image] = set()
9191
for container in network.containers:
92-
assert isinstance(container, Container)
93-
network.disconnect(container=container)
92+
network.disconnect(container=container) # pyright: ignore[reportUnknownMemberType]
9493
container.stop() # type: ignore[no-untyped-call]
9594
container.remove(v=True, force=True) # type: ignore[no-untyped-call]
95+
assert isinstance(container.image, Image) # pyright: ignore[reportUnknownMemberType]
9696
images_to_remove.add(container.image)
9797

9898
# This does leave behind untagged images.
@@ -112,7 +112,7 @@ def test_build_and_run(
112112
application.
113113
"""
114114
repository_root = request.config.rootpath
115-
client = docker.from_env()
115+
client = docker.from_env() # pyright: ignore[reportUnknownMemberType]
116116

117117
dockerfile = repository_root / "src/mock_vws/_flask_server/Dockerfile"
118118

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

124124
try:
125-
target_manager_image, _ = client.images.build(
125+
target_manager_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
126126
path=str(repository_root),
127127
dockerfile=str(dockerfile),
128128
tag=target_manager_tag,
@@ -143,15 +143,15 @@ def test_build_and_run(
143143
reason="We do not currently support using Windows containers."
144144
)
145145

146-
vwq_image, _ = client.images.build(
146+
vwq_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
147147
path=str(repository_root),
148148
dockerfile=str(dockerfile),
149149
tag=vwq_tag,
150150
target="vwq",
151151
rm=True,
152152
)
153153

154-
vws_image, _ = client.images.build(
154+
vws_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
155155
path=str(repository_root),
156156
dockerfile=str(dockerfile),
157157
tag=vws_tag,
@@ -165,14 +165,14 @@ def test_build_and_run(
165165
f"http://{target_manager_container_name}:5000"
166166
)
167167

168-
target_manager_container = client.containers.run(
168+
target_manager_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
169169
image=target_manager_image,
170170
detach=True,
171171
name=target_manager_container_name,
172172
publish_all_ports=True,
173173
network=custom_bridge_network.name,
174174
)
175-
vws_container = client.containers.run(
175+
vws_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
176176
image=vws_image,
177177
detach=True,
178178
name="vws-mock-vws-" + random,
@@ -182,7 +182,7 @@ def test_build_and_run(
182182
"TARGET_MANAGER_BASE_URL": target_manager_internal_base_url,
183183
},
184184
)
185-
vwq_container = client.containers.run(
185+
vwq_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
186186
image=vwq_image,
187187
detach=True,
188188
name="vws-mock-vwq-" + random,

0 commit comments

Comments
 (0)