Skip to content

Commit 65047ff

Browse files
rename swagger test file
Signed-off-by: adwait-godbole <adwaitngodbole@gmail.com>
1 parent 79164ce commit 65047ff

File tree

1 file changed

+40
-33
lines changed

1 file changed

+40
-33
lines changed

frontend/src/lib/docs.test.ts renamed to frontend/src/lib/swagger-parser.k8s.test.ts

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ describe('@apidevtools/swagger-parser', () => {
88
info: { title: 'Test API', version: '1.0.0' },
99
paths: {},
1010
definitions: {
11-
'io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta': {
11+
'io.k8s.api.apps.v1.Deployment': {
1212
type: 'object',
1313
properties: {
14-
name: { type: 'string' },
15-
namespace: { type: 'string' },
14+
metadata: { $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta' },
1615
},
1716
},
18-
'io.k8s.api.apps.v1.Deployment': {
17+
'io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta': {
1918
type: 'object',
2019
properties: {
21-
metadata: { $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta' },
20+
name: { type: 'string' },
21+
namespace: { type: 'string' },
2222
},
2323
},
2424
},
@@ -35,16 +35,34 @@ describe('@apidevtools/swagger-parser', () => {
3535
});
3636
});
3737

38+
it('should throw an error for invalid $ref references', async () => {
39+
const doc: OpenAPIV2.Document = {
40+
swagger: '2.0',
41+
info: { title: 'Test API', version: '1.0.0' },
42+
paths: {},
43+
definitions: {
44+
'io.k8s.api.core.v1.Pod': {
45+
type: 'object',
46+
properties: {
47+
metadata: { $ref: '#/definitions/NonExistentRef' },
48+
},
49+
},
50+
},
51+
};
52+
53+
await expect(Swagger.dereference(doc)).rejects.toThrow(/Token "NonExistentRef"/);
54+
});
55+
3856
it('should handle deeply nested $ref references', async () => {
3957
const doc: OpenAPIV2.Document = {
4058
swagger: '2.0',
4159
info: { title: 'Test API', version: '1.0.0' },
4260
paths: {},
4361
definitions: {
44-
'io.k8s.api.core.v1.Container': {
62+
'io.k8s.api.core.v1.Pod': {
4563
type: 'object',
4664
properties: {
47-
image: { type: 'string' },
65+
spec: { $ref: '#/definitions/io.k8s.api.core.v1.PodSpec' },
4866
},
4967
},
5068
'io.k8s.api.core.v1.PodSpec': {
@@ -56,10 +74,10 @@ describe('@apidevtools/swagger-parser', () => {
5674
},
5775
},
5876
},
59-
'io.k8s.api.core.v1.Pod': {
77+
'io.k8s.api.core.v1.Container': {
6078
type: 'object',
6179
properties: {
62-
spec: { $ref: '#/definitions/io.k8s.api.core.v1.PodSpec' },
80+
image: { type: 'string' },
6381
},
6482
},
6583
},
@@ -78,48 +96,37 @@ describe('@apidevtools/swagger-parser', () => {
7896
});
7997
});
8098

81-
it('should throw an error for invalid $ref references', async () => {
82-
const doc: OpenAPIV2.Document = {
83-
swagger: '2.0',
84-
info: { title: 'Test API', version: '1.0.0' },
85-
paths: {},
86-
definitions: {
87-
'io.k8s.api.core.v1.Pod': {
88-
type: 'object',
89-
properties: {
90-
metadata: { $ref: '#/definitions/NonExistentRef' },
91-
},
92-
},
93-
},
94-
};
95-
96-
await expect(Swagger.dereference(doc)).rejects.toThrow(/Token "NonExistentRef"/);
97-
});
98-
9999
it('should handle circular references', async () => {
100100
const doc: OpenAPIV2.Document = {
101101
swagger: '2.0',
102102
info: { title: 'Test API', version: '1.0.0' },
103103
paths: {},
104104
definitions: {
105-
'io.k8s.api.core.v1.Container': {
105+
'io.k8s.api.core.v1.Pod': {
106106
type: 'object',
107107
properties: {
108-
pod: { $ref: '#/definitions/io.k8s.api.core.v1.Pod' },
108+
metadata: {
109+
$ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta',
110+
},
109111
},
110112
},
111-
'io.k8s.api.core.v1.Pod': {
113+
'io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta': {
112114
type: 'object',
113115
properties: {
114-
container: { $ref: '#/definitions/io.k8s.api.core.v1.Container' },
116+
ownerReferences: {
117+
$ref: '#/definitions/io.k8s.api.core.v1.Pod',
118+
},
115119
},
116120
},
117121
},
118122
};
119123

120124
const result = (await Swagger.dereference(doc)) as OpenAPIV2.Document;
121125

122-
expect(result.definitions?.['io.k8s.api.core.v1.Pod'].properties?.container).toBeDefined();
123-
expect(result.definitions?.['io.k8s.api.core.v1.Container'].properties?.pod).toBeDefined();
126+
expect(result.definitions?.['io.k8s.api.core.v1.Pod'].properties?.metadata).toBeDefined();
127+
expect(
128+
result.definitions?.['io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta'].properties
129+
?.ownerReferences
130+
).toBeDefined();
124131
});
125132
});

0 commit comments

Comments
 (0)