예제 #1
0
def test_install_local_dependency():
    # Create "fake" chart
    output_directory = Path.cwd() / "tmp"
    chart_info = ChartInfo("3.2.4", "local-chart", "0.1.0")
    builder = ChartBuilder(chart_info, [],
                           output_directory=str(output_directory))
    builder.generate_chart()

    # Create chart with local dependency
    local_dependency = ChartDependency(
        name=chart_info.name,
        version=chart_info.version,
        local_repo_name="local-repo",
        repository=f"file://{output_directory.resolve()}/{chart_info.name}",
        is_local=True,
    )
    builder = ChartBuilder(
        ChartInfo(
            api_version="3.2.4",
            name="local-repo-dep-test",
            version="0.1.0",
            app_version="v1",
            dependencies=[local_dependency],
        ),
        [],
        keep_chart=True,
    )
    builder.generate_chart()
    with ChartInstallationContext(builder):
        assert builder.is_installed
예제 #2
0
def test_chart_folder_building(test_deployment1: Deployment):
    test_folder = Path("tmp")
    os.makedirs(test_folder, exist_ok=True)
    builder = ChartBuilder(
        ChartInfo(api_version="3.2.4", name="test", version="0.1.0"),
        [test_deployment1, test_deployment1],
        str(test_folder),
    )
    builder.generate_chart()
    templates_folder = test_folder / builder.chart_info.name / "templates"

    for file in os.listdir(templates_folder):
        with open(templates_folder / Path(file)) as kube_file:
            assert kube_file.read() == str(test_deployment1)

        assert re.match(rf"{test_deployment1.kind}-[0-9]+\.yaml", file)
    shutil.rmtree(test_folder)