[OpenAPI] Fix fleet filepath API parameter (#199538)

This commit is contained in:
Lisa Cawley 2024-11-14 14:05:39 -08:00 committed by GitHub
parent 8ede68b7ec
commit ba6ffec9e7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 20 additions and 17 deletions

View file

@ -21335,7 +21335,7 @@
]
}
},
"/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}": {
"/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}": {
"get": {
"operationId": "get-fleet-epm-packages-pkgname-pkgversion-filepath",
"parameters": [

View file

@ -21335,7 +21335,7 @@
]
}
},
"/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}": {
"/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}": {
"get": {
"operationId": "get-fleet-epm-packages-pkgname-pkgversion-filepath",
"parameters": [

View file

@ -19323,7 +19323,7 @@ paths:
tags:
- Elastic Package Manager (EPM)
x-beta: true
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}:
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}:
get:
operationId: get-fleet-epm-packages-pkgname-pkgversion-filepath
parameters:

View file

@ -22127,7 +22127,7 @@ paths:
summary: Update package settings
tags:
- Elastic Package Manager (EPM)
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}:
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}:
get:
operationId: get-fleet-epm-packages-pkgname-pkgversion-filepath
parameters:

View file

@ -228,7 +228,7 @@ OK response oas-test-version-2",
"x-discontinued": "route discontinued version or date",
},
},
"/foo/{id}/{path*}": Object {
"/foo/{id}/{path}": Object {
"delete": Object {
"description": "route description",
"operationId": "delete-foo-id-path",
@ -570,7 +570,7 @@ OK response oas-test-version-2",
],
},
},
"/no-xsrf/{id}/{path*}": Object {
"/no-xsrf/{id}/{path}": Object {
"post": Object {
"deprecated": true,
"operationId": "post-no-xsrf-id-path-2",

View file

@ -151,7 +151,7 @@ export const sharedOas = {
tags: ['versioned'],
},
},
'/foo/{id}/{path*}': {
'/foo/{id}/{path}': {
get: {
description: 'route description',
operationId: 'get-foo-id-path',

View file

@ -314,9 +314,9 @@ describe('generateOpenApiDocument', () => {
}
);
// router paths
expect(result.paths['/1-1/{id}/{path*}']!.get!.tags).toEqual(['1', '2']);
expect(result.paths['/1-2/{id}/{path*}']!.get!.tags).toEqual(['1']);
expect(result.paths['/2-1/{id}/{path*}']!.get!.tags).toEqual([]);
expect(result.paths['/1-1/{id}/{path}']!.get!.tags).toEqual(['1', '2']);
expect(result.paths['/1-2/{id}/{path}']!.get!.tags).toEqual(['1']);
expect(result.paths['/2-1/{id}/{path}']!.get!.tags).toEqual([]);
// versioned router paths
expect(result.paths['/v1-1']!.get!.tags).toEqual(['v1']);
expect(result.paths['/v1-2']!.get!.tags).toEqual(['v2', 'v3']);
@ -392,17 +392,17 @@ describe('generateOpenApiDocument', () => {
);
// router paths
expect(result.paths['/1-1/{id}/{path*}']!.get).toMatchObject({
expect(result.paths['/1-1/{id}/{path}']!.get).toMatchObject({
'x-state': 'Technical Preview',
});
expect(result.paths['/1-2/{id}/{path*}']!.get).toMatchObject({
expect(result.paths['/1-2/{id}/{path}']!.get).toMatchObject({
'x-state': 'Beta',
});
expect(result.paths['/1-3/{id}/{path*}']!.get).not.toMatchObject({
expect(result.paths['/1-3/{id}/{path}']!.get).not.toMatchObject({
'x-state': expect.any(String),
});
expect(result.paths['/2-1/{id}/{path*}']!.get).not.toMatchObject({
expect(result.paths['/2-1/{id}/{path}']!.get).not.toMatchObject({
'x-state': expect.any(String),
});

View file

@ -17,8 +17,9 @@ import {
getPathParameters,
createOpIdGenerator,
GetOpId,
assignToPaths,
extractTags,
} from './util';
import { assignToPaths, extractTags } from './util';
describe('extractTags', () => {
test.each([
@ -115,9 +116,11 @@ describe('assignToPaths', () => {
const paths = {};
assignToPaths(paths, '/foo', {});
assignToPaths(paths, '/bar/{id?}', {});
assignToPaths(paths, '/bar/file/{path*}', {});
expect(paths).toEqual({
'/foo': {},
'/bar/{id}': {},
'/bar/file/{path}': {},
});
});
});
@ -320,7 +323,7 @@ describe('createOpIdGenerator', () => {
{
input: {
method: 'get',
path: '/api/my/resource/{path*}',
path: '/api/my/resource/{path}',
},
output: 'get-my-resource-path',
},

View file

@ -132,7 +132,7 @@ export const assignToPaths = (
path: string,
pathObject: OpenAPIV3.PathItemObject
): void => {
const pathName = path.replace('?', '');
const pathName = path.replace(/[\?\*]/, '');
paths[pathName] = { ...paths[pathName], ...pathObject };
};