@furystack/rest-service 10.0.23 → 10.0.25
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.
- package/esm/api-manager.d.ts +47 -1
- package/esm/api-manager.d.ts.map +1 -1
- package/esm/api-manager.js +19 -5
- package/esm/api-manager.js.map +1 -1
- package/esm/authenticate.d.ts.map +1 -1
- package/esm/authenticate.js +3 -1
- package/esm/authenticate.js.map +1 -1
- package/esm/endpoint-generators/create-get-schema-action.d.ts +16 -0
- package/esm/endpoint-generators/create-get-schema-action.d.ts.map +1 -0
- package/esm/endpoint-generators/create-get-schema-action.js +21 -0
- package/esm/endpoint-generators/create-get-schema-action.js.map +1 -0
- package/esm/endpoint-generators/create-get-swagger-json-action.d.ts +14 -0
- package/esm/endpoint-generators/create-get-swagger-json-action.d.ts.map +1 -0
- package/esm/endpoint-generators/create-get-swagger-json-action.js +17 -0
- package/esm/endpoint-generators/create-get-swagger-json-action.js.map +1 -0
- package/esm/endpoint-generators/index.d.ts +1 -0
- package/esm/endpoint-generators/index.d.ts.map +1 -1
- package/esm/endpoint-generators/index.js +1 -0
- package/esm/endpoint-generators/index.js.map +1 -1
- package/esm/endpoint-generators/with-schema-and-swagger-action.d.ts +21 -0
- package/esm/endpoint-generators/with-schema-and-swagger-action.d.ts.map +1 -0
- package/esm/endpoint-generators/with-schema-and-swagger-action.js +2 -0
- package/esm/endpoint-generators/with-schema-and-swagger-action.js.map +1 -0
- package/esm/get-schema-from-api.d.ts +10 -0
- package/esm/get-schema-from-api.d.ts.map +1 -0
- package/esm/get-schema-from-api.js +55 -0
- package/esm/get-schema-from-api.js.map +1 -0
- package/esm/get-schema-from-api.spec.d.ts +2 -0
- package/esm/get-schema-from-api.spec.d.ts.map +1 -0
- package/esm/get-schema-from-api.spec.js +68 -0
- package/esm/get-schema-from-api.spec.js.map +1 -0
- package/esm/helpers.d.ts +4 -1
- package/esm/helpers.d.ts.map +1 -1
- package/esm/index.d.ts +10 -9
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +10 -9
- package/esm/index.js.map +1 -1
- package/esm/swagger/generate-swagger-json.d.ts +14 -0
- package/esm/swagger/generate-swagger-json.d.ts.map +1 -0
- package/esm/swagger/generate-swagger-json.js +106 -0
- package/esm/swagger/generate-swagger-json.js.map +1 -0
- package/esm/swagger/generate-swagger-json.spec.d.ts +2 -0
- package/esm/swagger/generate-swagger-json.spec.d.ts.map +1 -0
- package/esm/swagger/generate-swagger-json.spec.js +204 -0
- package/esm/swagger/generate-swagger-json.spec.js.map +1 -0
- package/esm/validate.d.ts.map +1 -1
- package/esm/validate.integration.spec.js +154 -2
- package/esm/validate.integration.spec.js.map +1 -1
- package/esm/validate.integration.spec.schema.json +0 -2
- package/esm/validate.js +4 -1
- package/esm/validate.js.map +1 -1
- package/package.json +10 -10
- package/src/api-manager.ts +68 -5
- package/src/authenticate.ts +5 -1
- package/src/endpoint-generators/create-get-schema-action.ts +29 -0
- package/src/endpoint-generators/create-get-swagger-json-action.ts +26 -0
- package/src/endpoint-generators/index.ts +1 -0
- package/src/endpoint-generators/with-schema-and-swagger-action.ts +11 -0
- package/src/get-schema-from-api.spec.ts +73 -0
- package/src/get-schema-from-api.ts +74 -0
- package/src/index.ts +10 -9
- package/src/swagger/generate-swagger-json.spec.ts +239 -0
- package/src/swagger/generate-swagger-json.ts +123 -0
- package/src/validate.integration.spec.schema.json +0 -2
- package/src/validate.integration.spec.ts +173 -2
- package/src/validate.ts +6 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a FuryStack API schema to an OpenAPI 3.1 compatible document
|
|
3
|
+
*
|
|
4
|
+
* @param schema - The FuryStack API schema to convert
|
|
5
|
+
* @returns A SwaggerDocument in OpenAPI 3.1 format
|
|
6
|
+
*/
|
|
7
|
+
export const generateSwaggerJsonFromApiSchema = ({ api, title = 'FuryStack API', description = 'API documentation generated from FuryStack API schema', version = '1.0.0', }) => {
|
|
8
|
+
const swaggerJson = {
|
|
9
|
+
openapi: '3.1.0',
|
|
10
|
+
info: {
|
|
11
|
+
title,
|
|
12
|
+
version,
|
|
13
|
+
description,
|
|
14
|
+
},
|
|
15
|
+
jsonSchemaDialect: 'https://spec.openapis.org/oas/3.1/dialect/base',
|
|
16
|
+
servers: [{ url: '/' }],
|
|
17
|
+
tags: [],
|
|
18
|
+
paths: {},
|
|
19
|
+
components: {
|
|
20
|
+
schemas: {},
|
|
21
|
+
securitySchemes: {
|
|
22
|
+
cookieAuth: {
|
|
23
|
+
type: 'apiKey',
|
|
24
|
+
in: 'cookie',
|
|
25
|
+
name: 'session',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
for (const [path, definition] of Object.entries(api)) {
|
|
31
|
+
// Normalize path to OpenAPI format (convert :param to {param})
|
|
32
|
+
const normalizedPath = path.replace(/:([^/]+)/g, '{$1}');
|
|
33
|
+
if (!swaggerJson.paths[normalizedPath]) {
|
|
34
|
+
swaggerJson.paths[normalizedPath] = {};
|
|
35
|
+
}
|
|
36
|
+
// Extract path parameters
|
|
37
|
+
const pathParams = Array.from(path.matchAll(/:([^/]+)/g), (m) => m[1]);
|
|
38
|
+
const parameters = pathParams.map((param) => ({
|
|
39
|
+
name: param,
|
|
40
|
+
in: 'path',
|
|
41
|
+
required: true,
|
|
42
|
+
description: `Path parameter: ${param}`,
|
|
43
|
+
schema: { type: 'string' },
|
|
44
|
+
}));
|
|
45
|
+
// Build operation
|
|
46
|
+
const method = definition.method.toLowerCase();
|
|
47
|
+
const operation = {
|
|
48
|
+
summary: `${definition.method} ${path}`,
|
|
49
|
+
description: `Endpoint for ${path}`,
|
|
50
|
+
operationId: `${method}${path.replace(/\//g, '_').replace(/:/g, '').replace(/-/g, '_')}`,
|
|
51
|
+
security: definition.isAuthenticated ? [{ cookieAuth: [] }] : [],
|
|
52
|
+
parameters,
|
|
53
|
+
responses: {
|
|
54
|
+
'200': {
|
|
55
|
+
description: 'Successful operation',
|
|
56
|
+
content: {
|
|
57
|
+
'application/json': {
|
|
58
|
+
schema: definition.schemaName
|
|
59
|
+
? { $ref: `#/components/schemas/${definition.schemaName}` }
|
|
60
|
+
: { type: 'object' },
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
'401': { description: 'Unauthorized' },
|
|
65
|
+
'500': { description: 'Internal server error' },
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
// Add schema to components if not already there
|
|
69
|
+
if (definition.schema && definition.schemaName) {
|
|
70
|
+
swaggerJson.components.schemas[definition.schemaName] = definition.schema;
|
|
71
|
+
}
|
|
72
|
+
// Assign the operation to the correct HTTP method property of PathItem
|
|
73
|
+
const pathItem = swaggerJson.paths[normalizedPath];
|
|
74
|
+
switch (method) {
|
|
75
|
+
case 'get':
|
|
76
|
+
pathItem.get = operation;
|
|
77
|
+
break;
|
|
78
|
+
case 'put':
|
|
79
|
+
pathItem.put = operation;
|
|
80
|
+
break;
|
|
81
|
+
case 'post':
|
|
82
|
+
pathItem.post = operation;
|
|
83
|
+
break;
|
|
84
|
+
case 'delete':
|
|
85
|
+
pathItem.delete = operation;
|
|
86
|
+
break;
|
|
87
|
+
case 'options':
|
|
88
|
+
pathItem.options = operation;
|
|
89
|
+
break;
|
|
90
|
+
case 'head':
|
|
91
|
+
pathItem.head = operation;
|
|
92
|
+
break;
|
|
93
|
+
case 'patch':
|
|
94
|
+
pathItem.patch = operation;
|
|
95
|
+
break;
|
|
96
|
+
case 'trace':
|
|
97
|
+
pathItem.trace = operation;
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
// Ignore unknown methods
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return swaggerJson;
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=generate-swagger-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-swagger-json.js","sourceRoot":"","sources":["../../src/swagger/generate-swagger-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-swagger-json.spec.d.ts","sourceRoot":"","sources":["../../src/swagger/generate-swagger-json.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { generateSwaggerJsonFromApiSchema } from './generate-swagger-json.js';
|
|
3
|
+
describe('generateSwaggerJsonFromApiSchema', () => {
|
|
4
|
+
it('Should generate a basic Swagger document with correct OpenAPI structure', () => {
|
|
5
|
+
const api = {
|
|
6
|
+
'/api/test': {
|
|
7
|
+
method: 'GET',
|
|
8
|
+
path: '/api/test',
|
|
9
|
+
isAuthenticated: false,
|
|
10
|
+
schemaName: 'Test',
|
|
11
|
+
schema: { type: 'object', properties: { id: { type: 'string' } } },
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
15
|
+
// Check basic structure
|
|
16
|
+
expect(result.openapi).toBe('3.1.0');
|
|
17
|
+
expect(result.info.title).toBe('FuryStack API');
|
|
18
|
+
expect(result.info.version).toBe('1.0.0');
|
|
19
|
+
// Check security scheme is defined correctly for cookie-based auth
|
|
20
|
+
expect(result.components?.securitySchemes?.cookieAuth).toEqual({
|
|
21
|
+
type: 'apiKey',
|
|
22
|
+
in: 'cookie',
|
|
23
|
+
name: 'session',
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
it('Should convert API endpoints to OpenAPI paths correctly', () => {
|
|
27
|
+
const api = {
|
|
28
|
+
'/api/users': {
|
|
29
|
+
method: 'GET',
|
|
30
|
+
path: '/api/users',
|
|
31
|
+
isAuthenticated: true,
|
|
32
|
+
schemaName: 'UserCollection',
|
|
33
|
+
schema: { type: 'array', items: { type: 'object' } },
|
|
34
|
+
},
|
|
35
|
+
'/api/users/:id': {
|
|
36
|
+
method: 'GET',
|
|
37
|
+
path: '/api/users/:id',
|
|
38
|
+
isAuthenticated: true,
|
|
39
|
+
schemaName: 'User',
|
|
40
|
+
schema: { type: 'object', properties: { id: { type: 'string' } } },
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
44
|
+
// Check paths
|
|
45
|
+
expect(result.paths?.['/api/users']).toBeDefined();
|
|
46
|
+
expect(result.paths?.['/api/users/{id}']).toBeDefined();
|
|
47
|
+
// Check methods
|
|
48
|
+
expect(result.paths?.['/api/users']?.get).toBeDefined();
|
|
49
|
+
expect(result.paths?.['/api/users/{id}']?.get).toBeDefined();
|
|
50
|
+
// Check security - should use cookieAuth for authenticated endpoints
|
|
51
|
+
expect(result.paths?.['/api/users']?.get?.security).toEqual([{ cookieAuth: [] }]);
|
|
52
|
+
expect(result.paths?.['/api/users/{id}']?.get?.security).toEqual([{ cookieAuth: [] }]);
|
|
53
|
+
});
|
|
54
|
+
it('Should extract path parameters correctly', () => {
|
|
55
|
+
const api = {
|
|
56
|
+
'/api/users/:userId/posts/:postId': {
|
|
57
|
+
method: 'GET',
|
|
58
|
+
path: '/api/users/:userId/posts/:postId',
|
|
59
|
+
isAuthenticated: false,
|
|
60
|
+
schemaName: 'Post',
|
|
61
|
+
schema: { type: 'object' },
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
65
|
+
// Check path parameters
|
|
66
|
+
const parameters = result.paths?.['/api/users/{userId}/posts/{postId}']?.get?.parameters;
|
|
67
|
+
expect(parameters).toHaveLength(2);
|
|
68
|
+
expect(parameters?.[0].name).toBe('userId');
|
|
69
|
+
expect(parameters?.[0].in).toBe('path');
|
|
70
|
+
expect(parameters?.[0].required).toBe(true);
|
|
71
|
+
expect(parameters?.[1].name).toBe('postId');
|
|
72
|
+
expect(parameters?.[1].in).toBe('path');
|
|
73
|
+
expect(parameters?.[1].required).toBe(true);
|
|
74
|
+
});
|
|
75
|
+
it('Should handle different HTTP methods correctly', () => {
|
|
76
|
+
const api = {
|
|
77
|
+
'/api/resource-get': {
|
|
78
|
+
method: 'GET',
|
|
79
|
+
path: '/api/resource-get',
|
|
80
|
+
isAuthenticated: false,
|
|
81
|
+
schemaName: 'Resource',
|
|
82
|
+
schema: { type: 'object' },
|
|
83
|
+
},
|
|
84
|
+
'/api/resource-post': {
|
|
85
|
+
method: 'POST',
|
|
86
|
+
path: '/api/resource-post',
|
|
87
|
+
isAuthenticated: true,
|
|
88
|
+
schemaName: 'ResourceInput',
|
|
89
|
+
schema: { type: 'object' },
|
|
90
|
+
},
|
|
91
|
+
'/api/resource-put/:id': {
|
|
92
|
+
method: 'PUT',
|
|
93
|
+
path: '/api/resource-put/:id',
|
|
94
|
+
isAuthenticated: true,
|
|
95
|
+
schemaName: 'ResourceUpdate',
|
|
96
|
+
schema: { type: 'object' },
|
|
97
|
+
},
|
|
98
|
+
'/api/resource-delete/:id': {
|
|
99
|
+
method: 'DELETE',
|
|
100
|
+
path: '/api/resource-delete/:id',
|
|
101
|
+
isAuthenticated: true,
|
|
102
|
+
schemaName: 'ResourceDelete',
|
|
103
|
+
schema: { type: 'object' },
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
107
|
+
// Check multiple methods
|
|
108
|
+
expect(result.paths?.['/api/resource-get'].get).toBeDefined();
|
|
109
|
+
expect(result.paths?.['/api/resource-post'].post).toBeDefined();
|
|
110
|
+
expect(result.paths?.['/api/resource-put/{id}'].put).toBeDefined();
|
|
111
|
+
expect(result.paths?.['/api/resource-delete/{id}'].delete).toBeDefined();
|
|
112
|
+
// Verify security is applied correctly based on isAuthenticated
|
|
113
|
+
expect(result.paths?.['/api/resource-get'].get?.security).toEqual([]);
|
|
114
|
+
expect(result.paths?.['/api/resource-post'].post?.security).toEqual([{ cookieAuth: [] }]);
|
|
115
|
+
});
|
|
116
|
+
it('Should include schemas in components', () => {
|
|
117
|
+
const testSchema = {
|
|
118
|
+
type: 'object',
|
|
119
|
+
properties: {
|
|
120
|
+
id: { type: 'string' },
|
|
121
|
+
name: { type: 'string' },
|
|
122
|
+
age: { type: 'number' },
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
const api = {
|
|
126
|
+
'/api/test': {
|
|
127
|
+
method: 'GET',
|
|
128
|
+
path: '/api/test',
|
|
129
|
+
isAuthenticated: false,
|
|
130
|
+
schemaName: 'TestModel',
|
|
131
|
+
schema: testSchema,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
135
|
+
// Check schema is included in components
|
|
136
|
+
expect(result.components?.schemas?.TestModel).toEqual(testSchema);
|
|
137
|
+
});
|
|
138
|
+
it('Should handle responses with correct status codes and content types', () => {
|
|
139
|
+
const api = {
|
|
140
|
+
'/api/test': {
|
|
141
|
+
method: 'GET',
|
|
142
|
+
path: '/api/test',
|
|
143
|
+
isAuthenticated: false,
|
|
144
|
+
schemaName: 'Test',
|
|
145
|
+
schema: { type: 'object' },
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
149
|
+
// Check response structure
|
|
150
|
+
const responses = result.paths?.['/api/test'].get?.responses;
|
|
151
|
+
const response200 = responses?.['200'];
|
|
152
|
+
expect(response200).toBeDefined();
|
|
153
|
+
expect(response200.description).toBe('Successful operation');
|
|
154
|
+
expect((response200.content?.['application/json']?.schema).$ref).toBe('#/components/schemas/Test');
|
|
155
|
+
expect(responses?.['401']).toBeDefined();
|
|
156
|
+
expect(responses?.['500']).toBeDefined();
|
|
157
|
+
expect(responses?.['401'].description).toBe('Unauthorized');
|
|
158
|
+
expect(responses?.['500'].description).toBe('Internal server error');
|
|
159
|
+
});
|
|
160
|
+
it('Should use empty path object if it does not exist - for code coverage', () => {
|
|
161
|
+
const api = {
|
|
162
|
+
'/api/test': {
|
|
163
|
+
method: 'GET',
|
|
164
|
+
path: '/api/test',
|
|
165
|
+
isAuthenticated: false,
|
|
166
|
+
schemaName: 'Test',
|
|
167
|
+
schema: { type: 'object' },
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
171
|
+
// This test is mainly for coverage, checking that the path initialization logic works
|
|
172
|
+
expect(result.paths?.['/api/test']).toBeDefined();
|
|
173
|
+
});
|
|
174
|
+
it('Should handle endpoints without schemas', () => {
|
|
175
|
+
const api = {
|
|
176
|
+
'/api/no-schema': {
|
|
177
|
+
method: 'GET',
|
|
178
|
+
path: '/api/no-schema',
|
|
179
|
+
isAuthenticated: false,
|
|
180
|
+
schemaName: 'EmptySchema',
|
|
181
|
+
schema: null,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
185
|
+
// Should still create the path without errors
|
|
186
|
+
expect(result.paths?.['/api/no-schema']).toBeDefined();
|
|
187
|
+
expect(result.paths?.['/api/no-schema'].get).toBeDefined();
|
|
188
|
+
});
|
|
189
|
+
it('Should use operationId based on method and path', () => {
|
|
190
|
+
const api = {
|
|
191
|
+
'/api/users/:id/profile': {
|
|
192
|
+
method: 'GET',
|
|
193
|
+
path: '/api/users/:id/profile',
|
|
194
|
+
isAuthenticated: false,
|
|
195
|
+
schemaName: 'UserProfile',
|
|
196
|
+
schema: { type: 'object' },
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
const result = generateSwaggerJsonFromApiSchema({ api });
|
|
200
|
+
// Check operationId format
|
|
201
|
+
expect(result.paths?.['/api/users/{id}/profile'].get?.operationId).toBe('get_api_users_id_profile');
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
//# sourceMappingURL=generate-swagger-json.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-swagger-json.spec.js","sourceRoot":"","sources":["../../src/swagger/generate-swagger-json.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAA;AAE7E,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,GAAG,GAA0C;YACjD,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aACnE;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,wBAAwB;QACxB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEzC,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC;YAC7D,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,GAAG,GAA0C;YACjD,YAAY,EAAE;gBACZ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,YAAY;gBAClB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,gBAAgB;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aACrD;YACD,gBAAgB,EAAE;gBAChB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,gBAAgB;gBACtB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aACnE;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,cAAc;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAClD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAEvD,gBAAgB;QAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QACvD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAE5D,qEAAqE;QACrE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACjF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,GAAG,GAA0C;YACjD,kCAAkC,EAAE;gBAClC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,kCAAkC;gBACxC,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,wBAAwB;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,oCAAoC,CAAC,EAAE,GAAG,EAAE,UAA+B,CAAA;QAC7G,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAA0C;YACjD,mBAAmB,EAAE;gBACnB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,mBAAmB;gBACzB,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,oBAAoB,EAAE;gBACpB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,uBAAuB,EAAE;gBACvB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,uBAAuB;gBAC7B,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,gBAAgB;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,0BAA0B,EAAE;gBAC1B,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,0BAA0B;gBAChC,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,gBAAgB;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,yBAAyB;QACzB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAClE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QAExE,gEAAgE;QAChE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACrE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3F,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACxB;SACF,CAAA;QAED,MAAM,GAAG,GAA0C;YACjD,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,UAAU;aACnB;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,yCAAyC;QACzC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,GAAG,GAA0C;YACjD,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,2BAA2B;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,SAA2C,CAAA;QAE9F,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAA;QACjC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC5D,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAA0B,CAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CACtF,2BAA2B,CAC5B,CAAA;QACD,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,GAAG,GAA0C;YACjD,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,sFAAsF;QACtF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,GAAG,GAA0C;YACjD,gBAAgB,EAAE;gBAChB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,gBAAgB;gBACtB,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,aAAa;gBACzB,MAAM,EAAE,IAAW;aACpB;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACtD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,GAAG,GAA0C;YACjD,wBAAwB,EAAE;gBACxB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,aAAa;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;SACF,CAAA;QAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,2BAA2B;QAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IACrG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/esm/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,aAAa,EAAwB,MAAM,oCAAoC,CAAA;AAG3G,eAAO,MAAM,QAAQ,GAClB,OAAO,SAAS;IAAE,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAAE,EAAE,mBAAmB;IACzE;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;CACzC,MACA,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,EAAE,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAG,aAAa,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,aAAa,EAAwB,MAAM,oCAAoC,CAAA;AAG3G,eAAO,MAAM,QAAQ,GAClB,OAAO,SAAS;IAAE,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAAE,EAAE,mBAAmB;IACzE;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;CACzC,MACA,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,EAAE,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAG,aAAa,CAAC,CAAC,CAmDrE,CAAA"}
|
|
@@ -10,13 +10,20 @@ import { JsonResult } from './request-action-implementation.js';
|
|
|
10
10
|
import schema from './validate.integration.spec.schema.json' with { type: 'json' };
|
|
11
11
|
import { Validate } from './validate.js';
|
|
12
12
|
// To recreate: yarn ts-json-schema-generator -f tsconfig.json --no-type-check -p packages/rest-service/src/validate.integration.schema.ts -o packages/rest-service/src/validate.integration.spec.schema.json
|
|
13
|
-
const
|
|
13
|
+
const name = crypto.randomUUID();
|
|
14
|
+
const description = crypto.randomUUID();
|
|
15
|
+
const version = crypto.randomUUID();
|
|
16
|
+
const createValidateApi = async (options = { enableGetSchema: false }) => {
|
|
14
17
|
const injector = new Injector();
|
|
15
18
|
const port = getPort();
|
|
16
19
|
getStoreManager(injector).addStore(new InMemoryStore({ model: User, primaryKey: 'username' }));
|
|
17
20
|
getStoreManager(injector).addStore(new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }));
|
|
18
|
-
await useRestService({
|
|
21
|
+
const api = await useRestService({
|
|
19
22
|
injector,
|
|
23
|
+
enableGetSchema: options.enableGetSchema,
|
|
24
|
+
name,
|
|
25
|
+
description,
|
|
26
|
+
version,
|
|
20
27
|
api: {
|
|
21
28
|
GET: {
|
|
22
29
|
'/validate-query': Validate({
|
|
@@ -59,10 +66,155 @@ const createValidateApi = async () => {
|
|
|
59
66
|
});
|
|
60
67
|
return {
|
|
61
68
|
[Symbol.asyncDispose]: injector[Symbol.asyncDispose].bind(injector),
|
|
69
|
+
injector,
|
|
70
|
+
api,
|
|
62
71
|
client,
|
|
63
72
|
};
|
|
64
73
|
};
|
|
65
74
|
describe('Validation integration tests', () => {
|
|
75
|
+
describe('swagger.json schema definition', () => {
|
|
76
|
+
it('Should include name, description and version in the generated swagger.json', async () => {
|
|
77
|
+
await usingAsync(await createValidateApi({ enableGetSchema: true }), async ({ client }) => {
|
|
78
|
+
const result = await client({
|
|
79
|
+
method: 'GET',
|
|
80
|
+
action: '/swagger.json',
|
|
81
|
+
});
|
|
82
|
+
expect(result.response.status).toBe(200);
|
|
83
|
+
expect(result.result).toBeDefined();
|
|
84
|
+
// Verify swagger document structure
|
|
85
|
+
const swaggerJson = result.result;
|
|
86
|
+
expect(swaggerJson.openapi).toBe('3.1.0');
|
|
87
|
+
expect(swaggerJson.info).toBeDefined();
|
|
88
|
+
expect(swaggerJson.info?.title).toBe(name);
|
|
89
|
+
expect(swaggerJson.info?.description).toBe(description);
|
|
90
|
+
expect(swaggerJson.info?.version).toBe(version);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
it('Should return a 404 when not enabled', async () => {
|
|
94
|
+
await usingAsync(await createValidateApi({ enableGetSchema: false }), async ({ client }) => {
|
|
95
|
+
try {
|
|
96
|
+
await client({
|
|
97
|
+
method: 'GET',
|
|
98
|
+
action: '/swagger.json',
|
|
99
|
+
});
|
|
100
|
+
expect.fail('Expected response error but got success');
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
expect(error).toBeInstanceOf(ResponseError);
|
|
104
|
+
expect(error.response.status).toBe(404);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
it('Should return a generated swagger.json when enabled', async () => {
|
|
109
|
+
await usingAsync(await createValidateApi({ enableGetSchema: true }), async ({ client }) => {
|
|
110
|
+
const result = await client({
|
|
111
|
+
method: 'GET',
|
|
112
|
+
action: '/swagger.json',
|
|
113
|
+
});
|
|
114
|
+
expect(result.response.status).toBe(200);
|
|
115
|
+
expect(result.result).toBeDefined();
|
|
116
|
+
// Verify swagger document structure
|
|
117
|
+
const swaggerJson = result.result;
|
|
118
|
+
expect(swaggerJson.openapi).toBe('3.1.0');
|
|
119
|
+
expect(swaggerJson.info).toBeDefined();
|
|
120
|
+
expect(swaggerJson.info?.title).toBe(name);
|
|
121
|
+
expect(swaggerJson.info?.description).toBe(description);
|
|
122
|
+
expect(swaggerJson.info?.version).toBe(version);
|
|
123
|
+
expect(swaggerJson.paths).toBeDefined();
|
|
124
|
+
// Verify our API endpoints are included
|
|
125
|
+
expect(swaggerJson.paths?.['/validate-query']).toBeDefined();
|
|
126
|
+
expect(swaggerJson.paths?.['/validate-url/{id}']).toBeDefined();
|
|
127
|
+
expect(swaggerJson.paths?.['/validate-headers']).toBeDefined();
|
|
128
|
+
expect(swaggerJson.paths?.['/validate-body']).toBeDefined();
|
|
129
|
+
// Verify components section
|
|
130
|
+
expect(swaggerJson.components).toBeDefined();
|
|
131
|
+
expect(swaggerJson.components?.schemas).toBeDefined();
|
|
132
|
+
expect(swaggerJson.components?.schemas?.ValidateQuery).toBeDefined();
|
|
133
|
+
expect(swaggerJson.components?.schemas?.ValidateUrl).toBeDefined();
|
|
134
|
+
expect(swaggerJson.components?.schemas?.ValidateHeaders).toBeDefined();
|
|
135
|
+
expect(swaggerJson.components?.schemas?.ValidateBody).toBeDefined();
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
describe('Validation metadata', () => {
|
|
140
|
+
it('Should return 404 when not enabled', async () => {
|
|
141
|
+
await usingAsync(await createValidateApi({ enableGetSchema: false }), async ({ client }) => {
|
|
142
|
+
try {
|
|
143
|
+
await client({
|
|
144
|
+
method: 'GET',
|
|
145
|
+
action: '/schema',
|
|
146
|
+
headers: {
|
|
147
|
+
accept: 'application/schema+json',
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
expect(error).toBeInstanceOf(ResponseError);
|
|
153
|
+
expect(error.response.status).toBe(404);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
it('Should return a 406 when the accept header is not supported', async () => {
|
|
158
|
+
expect.assertions(2);
|
|
159
|
+
await usingAsync(await createValidateApi({ enableGetSchema: true }), async ({ client }) => {
|
|
160
|
+
try {
|
|
161
|
+
await client({
|
|
162
|
+
method: 'GET',
|
|
163
|
+
action: '/schema',
|
|
164
|
+
headers: {
|
|
165
|
+
accept: 'text/plain',
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
expect(error).toBeInstanceOf(ResponseError);
|
|
171
|
+
expect(error.response.status).toBe(406);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
it('Should return the validation metadata', async () => {
|
|
176
|
+
await usingAsync(await createValidateApi({ enableGetSchema: true }), async ({ client }) => {
|
|
177
|
+
const result = await client({
|
|
178
|
+
method: 'GET',
|
|
179
|
+
action: '/schema',
|
|
180
|
+
headers: {
|
|
181
|
+
accept: 'application/schema+json',
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
expect(result.response.status).toBe(200);
|
|
185
|
+
expect(result.result).toBeDefined();
|
|
186
|
+
expect(result.result.name).toBe(name);
|
|
187
|
+
expect(result.result.description).toBe(description);
|
|
188
|
+
expect(result.result.version).toBe(version);
|
|
189
|
+
expect(result.result.endpoints['/validate-query']).toBeDefined();
|
|
190
|
+
expect(result.result.endpoints['/validate-query'].schema).toStrictEqual(schema);
|
|
191
|
+
expect(result.result.endpoints['/validate-query'].schemaName).toBe('ValidateQuery');
|
|
192
|
+
expect(result.result.endpoints['/validate-query'].method).toBe('GET');
|
|
193
|
+
expect(result.result.endpoints['/validate-query'].path).toBe('/validate-query');
|
|
194
|
+
expect(result.result.endpoints['/validate-query'].isAuthenticated).toBe(false);
|
|
195
|
+
expect(result.result.endpoints['/validate-url/:id']).toBeDefined();
|
|
196
|
+
expect(result.result.endpoints['/validate-url/:id'].schema).toStrictEqual(schema);
|
|
197
|
+
expect(result.result.endpoints['/validate-url/:id'].schemaName).toBe('ValidateUrl');
|
|
198
|
+
expect(result.result.endpoints['/validate-url/:id'].method).toBe('GET');
|
|
199
|
+
expect(result.result.endpoints['/validate-url/:id'].path).toBe('/validate-url/:id');
|
|
200
|
+
expect(result.result.endpoints['/validate-url/:id'].isAuthenticated).toBe(false);
|
|
201
|
+
expect(result.result.endpoints['/validate-headers']).toBeDefined();
|
|
202
|
+
expect(result.result.endpoints['/validate-headers'].schema).toStrictEqual(schema);
|
|
203
|
+
expect(result.result.endpoints['/validate-headers'].schemaName).toBe('ValidateHeaders');
|
|
204
|
+
expect(result.result.endpoints['/validate-headers'].method).toBe('GET');
|
|
205
|
+
expect(result.result.endpoints['/validate-headers'].path).toBe('/validate-headers');
|
|
206
|
+
expect(result.result.endpoints['/validate-headers'].isAuthenticated).toBe(false);
|
|
207
|
+
expect(result.result.endpoints['/validate-body']).toBeDefined();
|
|
208
|
+
expect(result.result.endpoints['/validate-body'].schema).toStrictEqual(schema);
|
|
209
|
+
expect(result.result.endpoints['/validate-body'].schemaName).toBe('ValidateBody');
|
|
210
|
+
expect(result.result.endpoints['/validate-body'].method).toBe('POST');
|
|
211
|
+
expect(result.result.endpoints['/validate-body'].path).toBe('/validate-body');
|
|
212
|
+
expect(result.result.endpoints['/validate-body'].isAuthenticated).toBe(false);
|
|
213
|
+
expect(result.result.endpoints['/mock']).toBeUndefined();
|
|
214
|
+
expect(result.result.endpoints['/mock/:id']).toBeUndefined();
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
});
|
|
66
218
|
describe('Validation errors', () => {
|
|
67
219
|
it('Should validate query', async () => {
|
|
68
220
|
await usingAsync(await createValidateApi(), async ({ client }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.integration.spec.js","sourceRoot":"","sources":["../src/validate.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.integration.spec.js","sourceRoot":"","sources":["../src/validate.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
"description": "Endpoint model for deleting entities",
|
|
7
7
|
"properties": {
|
|
8
8
|
"result": {
|
|
9
|
-
"additionalProperties": false,
|
|
10
9
|
"type": "object"
|
|
11
10
|
},
|
|
12
11
|
"url": {
|
|
@@ -304,7 +303,6 @@
|
|
|
304
303
|
"type": "object"
|
|
305
304
|
},
|
|
306
305
|
"result": {
|
|
307
|
-
"additionalProperties": false,
|
|
308
306
|
"type": "object"
|
|
309
307
|
},
|
|
310
308
|
"url": {
|
package/esm/validate.js
CHANGED
|
@@ -11,7 +11,7 @@ export const Validate = (validationOptions) => (action) => {
|
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
const validator = new SchemaValidator(schema, { coerceTypes: true, strict: false });
|
|
14
|
-
|
|
14
|
+
const wrapped = async (args) => {
|
|
15
15
|
const anyArgs = args;
|
|
16
16
|
let body;
|
|
17
17
|
const { headers } = anyArgs;
|
|
@@ -40,5 +40,8 @@ export const Validate = (validationOptions) => (action) => {
|
|
|
40
40
|
getBody: () => Promise.resolve(body),
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
|
+
wrapped.schema = schema;
|
|
44
|
+
wrapped.schemaName = validationOptions.schemaName;
|
|
45
|
+
return wrapped;
|
|
43
46
|
};
|
|
44
47
|
//# sourceMappingURL=validate.js.map
|
package/esm/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAwD,iBASvD,EAAE,EAAE,CACL,CAA4B,MAAwB,EAAoB,EAAE;IACxE,MAAM,MAAM,GAAG,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAA;IAE9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACvD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA;QACtF,CAAC;QACD,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAA;QACtC,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAA;QAC3D,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAEnF,OAAO,KAAK,EAAE,IAA6B,EAA4B,EAAE;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAwD,iBASvD,EAAE,EAAE,CACL,CAA4B,MAAwB,EAAoB,EAAE;IACxE,MAAM,MAAM,GAAG,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAA;IAE9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACvD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA;QACtF,CAAC;QACD,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAA;QACtC,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAA;QAC3D,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAEnF,MAAM,OAAO,GAAG,KAAK,EAAE,IAA6B,EAA4B,EAAE;QAChF,MAAM,OAAO,GAAG,IAAW,CAAA;QAC3B,IAAI,IAAU,CAAA;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAA;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAA;QACpC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,SAAS,CAAC,OAAO,CACf;YACE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,EACD,EAAE,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAC7C,CAAA;QACD,mBAAmB;QACnB,OAAO,MAAM,MAAM,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG;YACvB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;SACrC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,CAAC,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAA;IAEjD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|