Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/util/compute-images.test.ts
1447 views
1
import { FALLBACK_SOFTWARE_ENV } from "./compute-images";
2
3
test("fallback name exists", () => {
4
expect(
5
FALLBACK_SOFTWARE_ENV.environments[FALLBACK_SOFTWARE_ENV.default],
6
).toBeDefined();
7
});
8
9
test("consistent naming", () => {
10
const envs = FALLBACK_SOFTWARE_ENV.environments;
11
const groups = FALLBACK_SOFTWARE_ENV.groups;
12
for (const [name, info] of Object.entries(envs)) {
13
const i = name.indexOf("-");
14
const [base, ts] =
15
i > 0 ? [name.slice(0, i), name.slice(i + 1)] : [name, ""];
16
expect(info.title).toBeDefined();
17
18
expect(groups).toContain(info.group);
19
const { group, title, short } = info;
20
21
expect(short).toBeDefined();
22
switch (group) {
23
case "Main":
24
expect([
25
"default",
26
"ubuntu1804",
27
"ubuntu2004",
28
"ubuntu2204",
29
"ubuntu2404",
30
]).toContain(base);
31
break;
32
33
case "Ubuntu 20.04":
34
expect(["ubuntu2004", "exp"].includes(base)).toBe(true);
35
expect(title?.indexOf(ts) ?? 0 > 0);
36
if (ts === "dev" || ts === "previous") {
37
} else if (base === "ubuntu2004") {
38
expect(ts.startsWith(short ?? "")).toBe(true);
39
}
40
break;
41
42
case "Ubuntu 22.04":
43
expect(["ubuntu2204", "exp"].includes(base)).toBe(true);
44
expect(title?.indexOf(ts) ?? 0 > 0);
45
if (ts === "dev" || ts === "previous") {
46
} else if (base === "ubuntu2204") {
47
expect(ts.startsWith(short ?? "")).toBe(true);
48
}
49
break;
50
51
case "Ubuntu 24.04":
52
expect(["ubuntu2404", "exp"].includes(base)).toBe(true);
53
expect(title?.indexOf(ts) ?? 0 > 0);
54
if (ts === "dev" || ts === "previous") {
55
} else if (base === "ubuntu2404") {
56
expect(ts.startsWith(short ?? "")).toBe(true);
57
}
58
break;
59
60
default:
61
expect(
62
["stable", "old", "exp", "previous", "default", ""].includes(base),
63
).toBe(true);
64
}
65
}
66
});
67
68