Exemple #1
0
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]
Exemple #2
0
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
Exemple #3
0
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)