def test_get_image_tags(env_tags: Optional[str], expected: List[str]) -> None: intermediate_stage = "stage" # Patch environment env = {} if env_tags is not None: env["DOCKER_IMAGE_TAGS"] = env_tags with mock.patch.dict("os.environ", env): s = Settings() # Patch settings with mock.patch.object(settings, "DOCKER_IMAGE_TAGS", s.DOCKER_IMAGE_TAGS): d = Docker() stage_tags = d.get_image_tags(stage=intermediate_stage, final_image=False) final_tags = d.get_image_tags(stage="", final_image=True) assert final_tags == expected assert stage_tags == [f"{tag}-{intermediate_stage}" for tag in expected]
def test_get_image_tags_amount(stage: str, final_image: bool, expected_amount: int) -> None: d = Docker() images_tags = d.get_image_tags(stage=stage, final_image=final_image) assert len(images_tags) == expected_amount
def test_get_image_tags_name(stage: str, final_image: bool, expected_tags: List[str]) -> None: d = Docker() images_tags = d.get_image_tags(stage=stage, final_image=final_image) assert images_tags == sorted(expected_tags)