Beispiel #1
0
 def restore():
     docker_files = docker_compose_files_list(INTEGRATION_DIR, "docker")
     for filename in docker_files:
         os.rename(filename + ".bkp", filename)
     for filename in docker_compose_files_list(INTEGRATION_DIR, "git"):
         if filename not in docker_files:
             os.rename(filename + ".bkp", filename)
Beispiel #2
0
def master_yml_files(request):
    """Edit all yml files setting them to 'master'/'mender-master' versions

    So that the tests can be run from any branch or with any
    local changes in the yml files. The files are restored after
    the test run.
    """

    docker_files = docker_compose_files_list(INTEGRATION_DIR, "docker")
    for filename in docker_files:
        shutil.copyfile(filename, filename + ".bkp")
    for filename in docker_compose_files_list(INTEGRATION_DIR, "git"):
        if filename not in docker_files:
            shutil.copyfile(filename, filename + ".bkp")

    for filename in docker_files:
        with open(filename) as fd:
            full_content = "".join(fd.readlines())
        with open(filename, "w") as fd:
            fd.write(
                re.sub(
                    r"image:\s+(mendersoftware|.*mender\.io)/((?!mender\-client\-.+|mender-artifact|mender-cli).+):.*",
                    r"image: \g<1>/\g<2>:mender-master",
                    full_content,
                )
            )
        with open(filename) as fd:
            full_content = "".join(fd.readlines())
        with open(filename, "w") as fd:
            fd.write(
                re.sub(
                    r"image:\s+(mendersoftware|.*mender\.io)/(mender\-client\-.+|mender-artifact|mender-cli):.*",
                    r"image: \g<1>/\g<2>:master",
                    full_content,
                )
            )

    for filename in docker_compose_files_list(INTEGRATION_DIR, "git"):
        if filename not in docker_files:
            with open(filename) as fd:
                full_content = "".join(fd.readlines())
            with open(filename, "w") as fd:
                fd.write(
                    re.sub(
                        r"image:\s+(mendersoftware|.*mender\.io)/(.+):.*",
                        r"image: \g<1>/\g<2>:master",
                        full_content,
                    )
                )

    def restore():
        docker_files = docker_compose_files_list(INTEGRATION_DIR, "docker")
        for filename in docker_files:
            os.rename(filename + ".bkp", filename)
        for filename in docker_compose_files_list(INTEGRATION_DIR, "git"):
            if filename not in docker_files:
                os.rename(filename + ".bkp", filename)

    request.addfinalizer(restore)
Beispiel #3
0
def test_docker_compose_files_list():
    list_git = docker_compose_files_list(INTEGRATION_DIR, version="git")
    list_git_filenames = [os.path.basename(file) for file in list_git]
    assert "docker-compose.client.demo.yml" in list_git_filenames
    assert "docker-compose.no-ssl.yml" in list_git_filenames
    assert "docker-compose.testing.enterprise.yml" in list_git_filenames
    assert "other-components.yml" in list_git_filenames
    assert "docker-compose.storage.minio.yml" in list_git_filenames
    assert "docker-compose.client.rofs.yml" in list_git_filenames
    assert "docker-compose.client-dev.yml" in list_git_filenames
    assert "docker-compose.mt.client.yml" in list_git_filenames
    assert "docker-compose.demo.yml" in list_git_filenames
    assert "docker-compose.client.yml" in list_git_filenames
    assert "docker-compose.docker-client.yml" in list_git_filenames

    assert "git-versions.yml" in list_git_filenames
    assert "git-versions-enterprise.yml" in list_git_filenames
    assert "docker-compose.yml" not in list_git_filenames
    assert "docker-compose.enterprise.yml" not in list_git_filenames

    list_docker = docker_compose_files_list(INTEGRATION_DIR, version="docker")
    list_docker_filenames = [os.path.basename(file) for file in list_docker]
    assert "docker-compose.client.demo.yml" in list_docker_filenames
    assert "docker-compose.no-ssl.yml" in list_docker_filenames
    assert "docker-compose.testing.enterprise.yml" in list_docker_filenames
    assert "other-components.yml" in list_docker_filenames
    assert "docker-compose.storage.minio.yml" in list_docker_filenames
    assert "docker-compose.client.rofs.yml" in list_docker_filenames
    assert "docker-compose.client-dev.yml" in list_docker_filenames
    assert "docker-compose.mt.client.yml" in list_docker_filenames
    assert "docker-compose.demo.yml" in list_docker_filenames
    assert "docker-compose.client.yml" in list_docker_filenames
    assert "docker-compose.docker-client.yml" in list_docker_filenames

    assert "git-versions.yml" not in list_docker_filenames
    assert "git-versions-enterprise.yml" not in list_docker_filenames
    assert "docker-compose.yml" in list_docker_filenames
    assert "docker-compose.enterprise.yml" in list_docker_filenames