argo-cd
1import {compareNodes, describeNode, ResourceTreeNode} from "./application-resource-tree";
2
3test("describeNode.NoImages", () => {
4expect(describeNode({
5kind: "my-kind",
6name: "my-name",
7namespace: "my-ns",
8} as ResourceTreeNode)).toBe(`Kind: my-kind
9Namespace: my-ns
10Name: my-name`)
11});
12
13test("describeNode.Images", () => {
14expect(describeNode({
15kind: "my-kind",
16name: "my-name",
17namespace: "my-ns",
18images: ['my-image:v1'],
19} as ResourceTreeNode)).toBe(`Kind: my-kind
20Namespace: my-ns
21Name: my-name
22Images:
23- my-image:v1`)
24});
25
26test("compareNodes", () => {
27const nodes = [
28{
29resourceVersion: "1",
30name: "a",
31info: [{
32"name": "Revision",
33"value": "Rev:1"
34}],
35} as ResourceTreeNode,
36{
37orphaned: false,
38resourceVersion: "1",
39name: "a",
40info: [{
41"name": "Revision",
42"value": "Rev:1"
43}],
44} as ResourceTreeNode,
45{
46orphaned: false,
47resourceVersion: "1",
48name: "b",
49info: [{
50"name": "Revision",
51"value": "Rev:1"
52}],
53} as ResourceTreeNode,
54{
55orphaned: false,
56resourceVersion: "2",
57name: "a",
58info: [{
59"name": "Revision",
60"value": "Rev:2"
61}],
62} as ResourceTreeNode,
63{
64orphaned: false,
65resourceVersion: "2",
66name: "b",
67info: [{
68"name": "Revision",
69"value": "Rev:2"
70}],
71} as ResourceTreeNode,
72{
73orphaned: true,
74resourceVersion: "1",
75name: "a",
76info: [{
77"name": "Revision",
78"value": "Rev:1"
79}],
80} as ResourceTreeNode,
81];
82expect(compareNodes(nodes[0], nodes[1])).toBe(0)
83expect(compareNodes(nodes[2], nodes[1])).toBe(1)
84expect(compareNodes(nodes[1], nodes[2])).toBe(-1)
85expect(compareNodes(nodes[3], nodes[2])).toBe(-1)
86expect(compareNodes(nodes[2], nodes[3])).toBe(1)
87expect(compareNodes(nodes[4], nodes[3])).toBe(1)
88expect(compareNodes(nodes[3], nodes[4])).toBe(-1)
89expect(compareNodes(nodes[5], nodes[4])).toBe(1)
90expect(compareNodes(nodes[4], nodes[5])).toBe(-1)
91expect(compareNodes(nodes[0], nodes[4])).toBe(-1)
92expect(compareNodes(nodes[4], nodes[0])).toBe(1)
93});
94