kubernetes-fluent-client 3.1.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.husky/pre-commit +1 -0
  2. package/.lintstagedrc.json +5 -0
  3. package/dist/fluent/watch.d.ts.map +1 -1
  4. package/dist/fluent/watch.js +4 -3
  5. package/dist/upstream.d.ts +1 -1
  6. package/dist/upstream.d.ts.map +1 -1
  7. package/dist/upstream.js +2 -1
  8. package/package.json +9 -6
  9. package/src/fluent/watch.ts +6 -4
  10. package/src/upstream.ts +1 -0
  11. package/dist/fetch.test.d.ts +0 -2
  12. package/dist/fetch.test.d.ts.map +0 -1
  13. package/dist/fetch.test.js +0 -97
  14. package/dist/fileSystem.test.d.ts +0 -2
  15. package/dist/fileSystem.test.d.ts.map +0 -1
  16. package/dist/fileSystem.test.js +0 -75
  17. package/dist/fluent/http2-watch.spec.d.ts +0 -2
  18. package/dist/fluent/http2-watch.spec.d.ts.map +0 -1
  19. package/dist/fluent/http2-watch.spec.js +0 -284
  20. package/dist/fluent/index.test.d.ts +0 -2
  21. package/dist/fluent/index.test.d.ts.map +0 -1
  22. package/dist/fluent/index.test.js +0 -193
  23. package/dist/fluent/utils.test.d.ts +0 -2
  24. package/dist/fluent/utils.test.d.ts.map +0 -1
  25. package/dist/fluent/utils.test.js +0 -215
  26. package/dist/fluent/watch.spec.d.ts +0 -2
  27. package/dist/fluent/watch.spec.d.ts.map +0 -1
  28. package/dist/fluent/watch.spec.js +0 -261
  29. package/dist/generate.test.d.ts +0 -2
  30. package/dist/generate.test.d.ts.map +0 -1
  31. package/dist/generate.test.js +0 -320
  32. package/dist/helpers.test.d.ts +0 -2
  33. package/dist/helpers.test.d.ts.map +0 -1
  34. package/dist/helpers.test.js +0 -37
  35. package/dist/kinds.test.d.ts +0 -2
  36. package/dist/kinds.test.d.ts.map +0 -1
  37. package/dist/kinds.test.js +0 -155
  38. package/dist/postProcessing.test.d.ts +0 -2
  39. package/dist/postProcessing.test.d.ts.map +0 -1
  40. package/dist/postProcessing.test.js +0 -550
  41. package/e2e/cli.e2e.test.ts +0 -127
  42. package/e2e/crds/policyreports.default.expected/policyreport-v1alpha1.ts +0 -332
  43. package/e2e/crds/policyreports.default.expected/policyreport-v1alpha2.ts +0 -360
  44. package/e2e/crds/policyreports.default.expected/policyreport-v1beta1.ts +0 -360
  45. package/e2e/crds/policyreports.no.post.expected/policyreport-v1alpha1.ts +0 -331
  46. package/e2e/crds/policyreports.no.post.expected/policyreport-v1alpha2.ts +0 -360
  47. package/e2e/crds/policyreports.no.post.expected/policyreport-v1beta1.ts +0 -360
  48. package/e2e/crds/test.yaml/policyreports.test.yaml +0 -1008
  49. package/e2e/crds/test.yaml/uds-podmonitors.test.yaml +0 -1245
  50. package/e2e/crds/uds-podmonitors.default.expected/podmonitor-v1.ts +0 -1333
  51. package/e2e/crds/uds-podmonitors.no.post.expected/podmonitor-v1.ts +0 -1360
  52. package/src/fetch.test.ts +0 -115
  53. package/src/fileSystem.test.ts +0 -67
  54. package/src/fluent/http2-watch.spec.ts +0 -335
  55. package/src/fluent/index.test.ts +0 -268
  56. package/src/fluent/utils.test.ts +0 -276
  57. package/src/fluent/watch.spec.ts +0 -299
  58. package/src/generate.test.ts +0 -399
  59. package/src/helpers.test.ts +0 -42
  60. package/src/kinds.test.ts +0 -166
  61. package/src/postProcessing.test.ts +0 -742
@@ -1,42 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- // SPDX-FileCopyrightText: 2023-Present The Kubernetes Fluent Client Authors
3
-
4
- import { describe, expect, it, test } from "@jest/globals";
5
-
6
- import { fromEnv, hasLogs, waitForCluster } from "./helpers";
7
-
8
- describe("helpers", () => {
9
- test("fromEnv for NodeJS", () => {
10
- expect(() => {
11
- fromEnv("MY_MISSING_ENV_VAR");
12
- }).toThrowError("Environment variable MY_MISSING_ENV_VAR is not set");
13
-
14
- process.env.MY_ENV_VAR = "my-value";
15
- expect(fromEnv("MY_ENV_VAR")).toEqual("my-value");
16
- delete process.env.MY_ENV_VAR;
17
- });
18
- });
19
-
20
- describe("Cluster Wait Function", () => {
21
- it("should resolve if the cluster is already ready", async () => {
22
- const cluster = await waitForCluster(5);
23
- expect(cluster).toEqual({ server: "http://jest-test:8080" });
24
- });
25
- });
26
-
27
- describe("hasLogs function", () => {
28
- it("should return true for known kinds", () => {
29
- expect(hasLogs("Pod")).toBe(true);
30
- expect(hasLogs("DaemonSet")).toBe(true);
31
- expect(hasLogs("ReplicaSet")).toBe(true);
32
- expect(hasLogs("Service")).toBe(true);
33
- expect(hasLogs("StatefulSet")).toBe(true);
34
- expect(hasLogs("Deployment")).toBe(true);
35
- });
36
-
37
- it("should return false for unknown kinds", () => {
38
- expect(hasLogs("Unknown")).toBe(false);
39
- expect(hasLogs("")).toBe(false);
40
- expect(hasLogs("RandomKind")).toBe(false);
41
- });
42
- });
package/src/kinds.test.ts DELETED
@@ -1,166 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- // SPDX-FileCopyrightText: 2023-Present The Kubernetes Fluent Client Authors
3
-
4
- import { expect, test } from "@jest/globals";
5
-
6
- import { kind, modelToGroupVersionKind } from "./index";
7
- import { RegisterKind } from "./kinds";
8
- import { GroupVersionKind } from "./types";
9
-
10
- const testCases = [
11
- {
12
- name: kind.Event,
13
- expected: { group: "events.k8s.io", version: "v1", kind: "Event" },
14
- },
15
- {
16
- name: kind.CoreEvent,
17
- expected: { group: "", version: "v1", kind: "Event" },
18
- },
19
- {
20
- name: kind.ClusterRole,
21
- expected: { group: "rbac.authorization.k8s.io", version: "v1", kind: "ClusterRole" },
22
- },
23
- {
24
- name: kind.ClusterRoleBinding,
25
- expected: { group: "rbac.authorization.k8s.io", version: "v1", kind: "ClusterRoleBinding" },
26
- },
27
- {
28
- name: kind.Role,
29
- expected: { group: "rbac.authorization.k8s.io", version: "v1", kind: "Role" },
30
- },
31
- {
32
- name: kind.RoleBinding,
33
- expected: { group: "rbac.authorization.k8s.io", version: "v1", kind: "RoleBinding" },
34
- },
35
- { name: kind.Pod, expected: { group: "", version: "v1", kind: "Pod" } },
36
- { name: kind.Deployment, expected: { group: "apps", version: "v1", kind: "Deployment" } },
37
- { name: kind.StatefulSet, expected: { group: "apps", version: "v1", kind: "StatefulSet" } },
38
- { name: kind.DaemonSet, expected: { group: "apps", version: "v1", kind: "DaemonSet" } },
39
- { name: kind.Job, expected: { group: "batch", version: "v1", kind: "Job" } },
40
- { name: kind.CronJob, expected: { group: "batch", version: "v1", kind: "CronJob" } },
41
- { name: kind.ConfigMap, expected: { group: "", version: "v1", kind: "ConfigMap" } },
42
- { name: kind.Secret, expected: { group: "", version: "v1", kind: "Secret" } },
43
- { name: kind.Service, expected: { group: "", version: "v1", kind: "Service" } },
44
- { name: kind.ServiceAccount, expected: { group: "", version: "v1", kind: "ServiceAccount" } },
45
- { name: kind.Namespace, expected: { group: "", version: "v1", kind: "Namespace" } },
46
- {
47
- name: kind.HorizontalPodAutoscaler,
48
- expected: { group: "autoscaling", version: "v2", kind: "HorizontalPodAutoscaler" },
49
- },
50
- {
51
- name: kind.CustomResourceDefinition,
52
- expected: { group: "apiextensions.k8s.io", version: "v1", kind: "CustomResourceDefinition" },
53
- },
54
- { name: kind.Ingress, expected: { group: "networking.k8s.io", version: "v1", kind: "Ingress" } },
55
- {
56
- name: kind.NetworkPolicy,
57
- expected: {
58
- group: "networking.k8s.io",
59
- version: "v1",
60
- kind: "NetworkPolicy",
61
- plural: "networkpolicies",
62
- },
63
- },
64
- { name: kind.Node, expected: { group: "", version: "v1", kind: "Node" } },
65
- { name: kind.PersistentVolume, expected: { group: "", version: "v1", kind: "PersistentVolume" } },
66
- {
67
- name: kind.PersistentVolumeClaim,
68
- expected: { group: "", version: "v1", kind: "PersistentVolumeClaim" },
69
- },
70
- { name: kind.Pod, expected: { group: "", version: "v1", kind: "Pod" } },
71
- {
72
- name: kind.PodDisruptionBudget,
73
- expected: { group: "policy", version: "v1", kind: "PodDisruptionBudget" },
74
- },
75
- { name: kind.PodTemplate, expected: { group: "", version: "v1", kind: "PodTemplate" } },
76
- { name: kind.ReplicaSet, expected: { group: "apps", version: "v1", kind: "ReplicaSet" } },
77
- {
78
- name: kind.ReplicationController,
79
- expected: { group: "", version: "v1", kind: "ReplicationController" },
80
- },
81
- { name: kind.ResourceQuota, expected: { group: "", version: "v1", kind: "ResourceQuota" } },
82
- {
83
- name: kind.RuntimeClass,
84
- expected: { group: "node.k8s.io", version: "v1", kind: "RuntimeClass" },
85
- },
86
- { name: kind.Secret, expected: { group: "", version: "v1", kind: "Secret" } },
87
- {
88
- name: kind.SelfSubjectAccessReview,
89
- expected: { group: "authorization.k8s.io", version: "v1", kind: "SelfSubjectAccessReview" },
90
- },
91
- {
92
- name: kind.SelfSubjectRulesReview,
93
- expected: { group: "authorization.k8s.io", version: "v1", kind: "SelfSubjectRulesReview" },
94
- },
95
- { name: kind.Service, expected: { group: "", version: "v1", kind: "Service" } },
96
- { name: kind.ServiceAccount, expected: { group: "", version: "v1", kind: "ServiceAccount" } },
97
- { name: kind.StatefulSet, expected: { group: "apps", version: "v1", kind: "StatefulSet" } },
98
- {
99
- name: kind.StorageClass,
100
- expected: { group: "storage.k8s.io", version: "v1", kind: "StorageClass" },
101
- },
102
- {
103
- name: kind.SubjectAccessReview,
104
- expected: { group: "authorization.k8s.io", version: "v1", kind: "SubjectAccessReview" },
105
- },
106
- {
107
- name: kind.TokenReview,
108
- expected: { group: "authentication.k8s.io", version: "v1", kind: "TokenReview" },
109
- },
110
- {
111
- name: kind.ValidatingWebhookConfiguration,
112
- expected: {
113
- group: "admissionregistration.k8s.io",
114
- version: "v1",
115
- kind: "ValidatingWebhookConfiguration",
116
- },
117
- },
118
- {
119
- name: kind.VolumeAttachment,
120
- expected: { group: "storage.k8s.io", version: "v1", kind: "VolumeAttachment" },
121
- },
122
- ];
123
-
124
- test.each(testCases)(
125
- "should return the correct GroupVersionKind for '%s'",
126
- ({ name, expected }) => {
127
- const { name: modelName } = name;
128
- const gvk = modelToGroupVersionKind(modelName);
129
- try {
130
- expect(gvk.group).toBe(expected.group);
131
- expect(gvk.version).toBe(expected.version);
132
- expect(gvk.kind).toBe(expected.kind);
133
- } catch (error) {
134
- console.error(
135
- `Failed for model ${modelName}: Expected GroupVersionKind to be ${JSON.stringify(
136
- expected,
137
- )}, but got ${JSON.stringify(gvk)}`,
138
- );
139
- throw error;
140
- }
141
- },
142
- );
143
-
144
- test("new registered type", () => {
145
- class foo implements GroupVersionKind {
146
- kind: string;
147
- group: string;
148
- constructor() {
149
- this.kind = "foo";
150
- this.group = "bar";
151
- }
152
- }
153
- RegisterKind(foo, new foo());
154
- });
155
-
156
- test("throws an error for already registered", () => {
157
- const { name } = kind.VolumeAttachment;
158
- const gvk = modelToGroupVersionKind(name);
159
- expect(() => {
160
- RegisterKind(kind.VolumeAttachment, {
161
- kind: gvk.kind,
162
- version: gvk.version,
163
- group: gvk.group,
164
- });
165
- }).toThrow(`GVK ${name} already registered`);
166
- });