mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Refactor of excludeDeprecated helm service method Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Pick first helm chart from the list on load Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Removing helm filtering in UI Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Cleaning up Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Cleaning up type definitions Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding sorting charts by version Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding tests for methods that manipute chart listing Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Cleaning up tests a bit Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding semver coercion before comparing versions Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
105 lines
2.5 KiB
TypeScript
105 lines
2.5 KiB
TypeScript
import { helmService } from "../helm-service";
|
|
import { repoManager } from "../helm-repo-manager";
|
|
|
|
jest.spyOn(repoManager, "init").mockImplementation();
|
|
|
|
jest.mock("../helm-chart-manager");
|
|
|
|
describe("Helm Service tests", () => {
|
|
test("list charts without deprecated ones", async () => {
|
|
jest.spyOn(repoManager, "repositories").mockImplementation(async () => {
|
|
return [
|
|
{ name: "stable", url: "stableurl" },
|
|
{ name: "experiment", url: "experimenturl" }
|
|
];
|
|
});
|
|
|
|
const charts = await helmService.listCharts();
|
|
|
|
expect(charts).toEqual({
|
|
stable: {
|
|
"apm-server": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "2.1.7",
|
|
repo: "stable",
|
|
digest: "test"
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "2.1.6",
|
|
repo: "stable",
|
|
digest: "test"
|
|
}
|
|
],
|
|
"redis": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "1.0.0",
|
|
repo: "stable",
|
|
digest: "test"
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "0.0.9",
|
|
repo: "stable",
|
|
digest: "test"
|
|
}
|
|
]
|
|
},
|
|
experiment: {}
|
|
});
|
|
});
|
|
|
|
test("list charts sorted by version in descending order", async () => {
|
|
jest.spyOn(repoManager, "repositories").mockImplementation(async () => {
|
|
return [
|
|
{ name: "bitnami", url: "bitnamiurl" }
|
|
];
|
|
});
|
|
|
|
const charts = await helmService.listCharts();
|
|
|
|
expect(charts).toEqual({
|
|
bitnami: {
|
|
"hotdog": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "hotdog",
|
|
version: "1.0.2",
|
|
repo: "bitnami",
|
|
digest: "test",
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "hotdog",
|
|
version: "1.0.1",
|
|
repo: "bitnami",
|
|
digest: "test"
|
|
},
|
|
],
|
|
"pretzel": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "pretzel",
|
|
version: "1.0.1",
|
|
repo: "bitnami",
|
|
digest: "test",
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "pretzel",
|
|
version: "1.0",
|
|
repo: "bitnami",
|
|
digest: "test"
|
|
}
|
|
]
|
|
}
|
|
});
|
|
});
|
|
});
|