kubernetes-fluent-client 3.1.1 → 3.1.3

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 (60) hide show
  1. package/.husky/pre-commit +1 -0
  2. package/.lintstagedrc.json +5 -0
  3. package/dist/fluent/types.d.ts +14 -0
  4. package/dist/fluent/types.d.ts.map +1 -1
  5. package/dist/fluent/watch.d.ts.map +1 -1
  6. package/dist/fluent/watch.js +121 -71
  7. package/package.json +8 -5
  8. package/src/fluent/types.ts +16 -0
  9. package/src/fluent/watch.ts +136 -81
  10. package/dist/fetch.test.d.ts +0 -2
  11. package/dist/fetch.test.d.ts.map +0 -1
  12. package/dist/fetch.test.js +0 -97
  13. package/dist/fileSystem.test.d.ts +0 -2
  14. package/dist/fileSystem.test.d.ts.map +0 -1
  15. package/dist/fileSystem.test.js +0 -75
  16. package/dist/fluent/http2-watch.spec.d.ts +0 -2
  17. package/dist/fluent/http2-watch.spec.d.ts.map +0 -1
  18. package/dist/fluent/http2-watch.spec.js +0 -284
  19. package/dist/fluent/index.test.d.ts +0 -2
  20. package/dist/fluent/index.test.d.ts.map +0 -1
  21. package/dist/fluent/index.test.js +0 -193
  22. package/dist/fluent/utils.test.d.ts +0 -2
  23. package/dist/fluent/utils.test.d.ts.map +0 -1
  24. package/dist/fluent/utils.test.js +0 -215
  25. package/dist/fluent/watch.spec.d.ts +0 -2
  26. package/dist/fluent/watch.spec.d.ts.map +0 -1
  27. package/dist/fluent/watch.spec.js +0 -261
  28. package/dist/generate.test.d.ts +0 -2
  29. package/dist/generate.test.d.ts.map +0 -1
  30. package/dist/generate.test.js +0 -320
  31. package/dist/helpers.test.d.ts +0 -2
  32. package/dist/helpers.test.d.ts.map +0 -1
  33. package/dist/helpers.test.js +0 -37
  34. package/dist/kinds.test.d.ts +0 -2
  35. package/dist/kinds.test.d.ts.map +0 -1
  36. package/dist/kinds.test.js +0 -155
  37. package/dist/postProcessing.test.d.ts +0 -2
  38. package/dist/postProcessing.test.d.ts.map +0 -1
  39. package/dist/postProcessing.test.js +0 -550
  40. package/e2e/cli.e2e.test.ts +0 -127
  41. package/e2e/crds/policyreports.default.expected/policyreport-v1alpha1.ts +0 -332
  42. package/e2e/crds/policyreports.default.expected/policyreport-v1alpha2.ts +0 -360
  43. package/e2e/crds/policyreports.default.expected/policyreport-v1beta1.ts +0 -360
  44. package/e2e/crds/policyreports.no.post.expected/policyreport-v1alpha1.ts +0 -331
  45. package/e2e/crds/policyreports.no.post.expected/policyreport-v1alpha2.ts +0 -360
  46. package/e2e/crds/policyreports.no.post.expected/policyreport-v1beta1.ts +0 -360
  47. package/e2e/crds/test.yaml/policyreports.test.yaml +0 -1008
  48. package/e2e/crds/test.yaml/uds-podmonitors.test.yaml +0 -1245
  49. package/e2e/crds/uds-podmonitors.default.expected/podmonitor-v1.ts +0 -1333
  50. package/e2e/crds/uds-podmonitors.no.post.expected/podmonitor-v1.ts +0 -1360
  51. package/src/fetch.test.ts +0 -115
  52. package/src/fileSystem.test.ts +0 -67
  53. package/src/fluent/http2-watch.spec.ts +0 -335
  54. package/src/fluent/index.test.ts +0 -268
  55. package/src/fluent/utils.test.ts +0 -276
  56. package/src/fluent/watch.spec.ts +0 -299
  57. package/src/generate.test.ts +0 -399
  58. package/src/helpers.test.ts +0 -42
  59. package/src/kinds.test.ts +0 -166
  60. 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
- });