diff --git a/packages/helm/src/__fixtures__/tar/bad-tar.tgz b/packages/helm/src/__fixtures__/tar/bad-tar.tgz new file mode 100644 index 000000000..b47b58955 Binary files /dev/null and b/packages/helm/src/__fixtures__/tar/bad-tar.tgz differ diff --git a/packages/helm/src/__tests__/load.ts b/packages/helm/src/__tests__/load.ts index 6f2728744..72b0a3d09 100644 --- a/packages/helm/src/__tests__/load.ts +++ b/packages/helm/src/__tests__/load.ts @@ -18,7 +18,6 @@ jest.mock("@kosko/exec-utils", () => { const FIXTURE_DIR = join(__dirname, "../__fixtures__"); const NGINX_CHART = join(FIXTURE_DIR, "nginx"); -const TAR_CHART = join(FIXTURE_DIR, "tar", "prometheus-25.22.0.tgz"); const mockedSpawn = jest.mocked(spawn); @@ -33,11 +32,23 @@ test("chart is a local path", async () => { await expect(result()).resolves.toMatchSnapshot(); }); +test("invalid local chart path", async () => { + const result = loadChart({ chart: FIXTURE_DIR }); + await expect(result()).rejects.toThrow(); +}); + test("chart is a local tarball", async () => { - const result = loadChart({ chart: TAR_CHART }); + const result = loadChart({ + chart: join(FIXTURE_DIR, "tar", "prometheus-25.22.0.tgz") + }); await expect(result()).resolves.toMatchSnapshot(); }); +test("invalid local tarball", async () => { + const result = loadChart({ chart: join(FIXTURE_DIR, "tar", "bad-tar.tgz") }); + await expect(result()).rejects.toThrow(); +}); + test("chart is remote", async () => { const result = loadChart({ chart: "prometheus",