Coverage for /usr/local/lib/python3.12/site-packages/prefect/testing/docker.py: 0%

13 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 10:48 +0000

1from contextlib import contextmanager 

2from typing import Any, Generator 

3from unittest import mock 

4 

5from prefect.utilities.dockerutils import ImageBuilder 

6 

7 

8@contextmanager 

9def capture_builders() -> Generator[list[ImageBuilder], None, None]: 

10 """Captures any instances of ImageBuilder created while this context is active""" 

11 builders: list[ImageBuilder] = [] 

12 

13 original_init = ImageBuilder.__init__ 

14 

15 def capture(self: ImageBuilder, *args: Any, **kwargs: Any): 

16 builders.append(self) 

17 original_init(self, *args, **kwargs) 

18 

19 with mock.patch.object(ImageBuilder, "__init__", capture): 

20 yield builders