1313import requests
1414from docker .errors import BuildError , NotFound
1515from docker .models .containers import Container
16+ from docker .models .images import Image
1617from docker .models .networks import Network
1718from mock_vws .database import VuforiaDatabase
1819from tenacity import retry
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