Skip to content

Commit be7654f

Browse files
committed
Enable pyright on test_docker
1 parent dabc773 commit be7654f

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
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 & 12 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
@@ -67,16 +68,16 @@ def fixture_custom_bridge_network() -> Iterator[Network]:
6768
Yields:
6869
A custom bridge network.
6970
"""
70-
client = docker.from_env()
71+
client = docker.from_env() # pyright: ignore[reportUnknownMemberType]
7172
try:
72-
network = client.networks.create(
73+
network = client.networks.create( # pyright: ignore[reportUnknownMemberType]
7374
name="test-vws-bridge-" + uuid.uuid4().hex,
7475
driver="bridge",
7576
)
7677
except NotFound:
7778
# On Windows the "bridge" network driver is not available and we use
7879
# the "nat" driver instead.
79-
network = client.networks.create(
80+
network = client.networks.create( # pyright: ignore[reportUnknownMemberType]
8081
name="test-vws-bridge-" + uuid.uuid4().hex,
8182
driver="nat",
8283
)
@@ -89,10 +90,10 @@ def fixture_custom_bridge_network() -> Iterator[Network]:
8990
network.reload()
9091
images_to_remove: set[Image] = set()
9192
for container in network.containers:
92-
assert isinstance(container, Container)
93-
network.disconnect(container=container)
93+
network.disconnect(container=container) # pyright: ignore[reportUnknownMemberType]
9494
container.stop() # type: ignore[no-untyped-call]
9595
container.remove(v=True, force=True) # type: ignore[no-untyped-call]
96+
assert isinstance(container.image, Image) # pyright: ignore[reportUnknownMemberType]
9697
images_to_remove.add(container.image)
9798

9899
# This does leave behind untagged images.
@@ -112,7 +113,7 @@ def test_build_and_run(
112113
application.
113114
"""
114115
repository_root = request.config.rootpath
115-
client = docker.from_env()
116+
client = docker.from_env() # pyright: ignore[reportUnknownMemberType]
116117

117118
dockerfile = repository_root / "src/mock_vws/_flask_server/Dockerfile"
118119

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

124125
try:
125-
target_manager_image, _ = client.images.build(
126+
target_manager_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
126127
path=str(repository_root),
127128
dockerfile=str(dockerfile),
128129
tag=target_manager_tag,
@@ -143,15 +144,15 @@ def test_build_and_run(
143144
reason="We do not currently support using Windows containers."
144145
)
145146

146-
vwq_image, _ = client.images.build(
147+
vwq_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
147148
path=str(repository_root),
148149
dockerfile=str(dockerfile),
149150
tag=vwq_tag,
150151
target="vwq",
151152
rm=True,
152153
)
153154

154-
vws_image, _ = client.images.build(
155+
vws_image, _ = client.images.build( # pyright: ignore[reportUnknownMemberType]
155156
path=str(repository_root),
156157
dockerfile=str(dockerfile),
157158
tag=vws_tag,
@@ -165,14 +166,14 @@ def test_build_and_run(
165166
f"http://{target_manager_container_name}:5000"
166167
)
167168

168-
target_manager_container = client.containers.run(
169+
target_manager_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
169170
image=target_manager_image,
170171
detach=True,
171172
name=target_manager_container_name,
172173
publish_all_ports=True,
173174
network=custom_bridge_network.name,
174175
)
175-
vws_container = client.containers.run(
176+
vws_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
176177
image=vws_image,
177178
detach=True,
178179
name="vws-mock-vws-" + random,
@@ -182,7 +183,7 @@ def test_build_and_run(
182183
"TARGET_MANAGER_BASE_URL": target_manager_internal_base_url,
183184
},
184185
)
185-
vwq_container = client.containers.run(
186+
vwq_container = client.containers.run( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
186187
image=vwq_image,
187188
detach=True,
188189
name="vws-mock-vwq-" + random,

0 commit comments

Comments
 (0)