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
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)