diff --git a/packages/ui/src/parsers/postman.spec.ts b/packages/ui/src/parsers/postman.spec.ts index 22b581d8..198c300c 100644 --- a/packages/ui/src/parsers/postman.spec.ts +++ b/packages/ui/src/parsers/postman.spec.ts @@ -7,9 +7,11 @@ import { convertPostmanExportToRestfoxCollection } from './postman' import { addSortOrderToTree, flattenTree } from '@/helpers' test('importPostmanV2.0', async() => { - const currentFolder = path.dirname(new URL(import.meta.url).pathname) + const currentFolder = process.cwd() - const testDataFolder = path.join(currentFolder, '..', '..', 'test-data', 'postman-import-v2') + const testDataFolder = path.resolve(path.join(currentFolder,'test-data', 'postman-import-v2')) + + console.log('testDataFolder', testDataFolder) const inputFile = await readFile(path.join(testDataFolder, 'Argos.API.postman_collection.v2.0.json'), 'utf-8') const input = JSON.parse(inputFile) @@ -49,9 +51,9 @@ test('importPostmanV2.0', async() => { }) test('importPostmanV2.1', async() => { - const currentFolder = path.dirname(new URL(import.meta.url).pathname) + const currentFolder = process.cwd() - const testDataFolder = path.join(currentFolder, '..', '..', 'test-data', 'postman-import-v2') + const testDataFolder = path.join(currentFolder, 'test-data', 'postman-import-v2') const inputFile = await readFile(path.join(testDataFolder, 'Argos.API.postman_collection.v2.1.json'), 'utf-8') const input = JSON.parse(inputFile) diff --git a/packages/ui/src/parsers/postman.ts b/packages/ui/src/parsers/postman.ts index b68c8a06..d4dee8f9 100644 --- a/packages/ui/src/parsers/postman.ts +++ b/packages/ui/src/parsers/postman.ts @@ -211,6 +211,18 @@ function handlePostmanV2CollectionItem(postmanCollectionItem: any, parentId: str }) }) + const pathParameters: RequestParam[] = [] + + const pathParams = 'url' in request.request && typeof request.request.url !== 'string' && 'variable' in request.request.url ? request.request.url.variable : [] + pathParams.forEach((pathParam: any) => { + pathParameters.push({ + name: pathParam.key, + value: pathParam.value, + description: pathParam.description, + disabled: pathParam.disabled + }) + }) + let url = '' if('url' in request.request) { @@ -258,6 +270,7 @@ function handlePostmanV2CollectionItem(postmanCollectionItem: any, parentId: str body, headers, parameters, + pathParameters: pathParameters.length > 0 ? pathParameters : undefined, authentication, description: 'description' in request.request ? request.request.description : undefined, parentId, diff --git a/packages/ui/test-data/postman-import-v2/Restfox_2024-09-06.json b/packages/ui/test-data/postman-import-v2/Restfox_2024-09-06.json index 290b7152..00f9c7df 100644 --- a/packages/ui/test-data/postman-import-v2/Restfox_2024-09-06.json +++ b/packages/ui/test-data/postman-import-v2/Restfox_2024-09-06.json @@ -38,6 +38,13 @@ } ], "parameters": [], + "pathParameters": [ + { + "name": "buildId", + "value": "", + "description": "(Required) A unique identifier for the build" + } + ], "authentication": { "type": "No Auth" }, diff --git a/packages/ui/test-data/postman-import-v2/test-snapshot.json b/packages/ui/test-data/postman-import-v2/test-snapshot.json index edea3030..fb96f8bd 100644 --- a/packages/ui/test-data/postman-import-v2/test-snapshot.json +++ b/packages/ui/test-data/postman-import-v2/test-snapshot.json @@ -186,6 +186,13 @@ } ], "parameters": [], + "pathParameters": [ + { + "name": "buildId", + "value": "", + "description": "(Required) A unique identifier for the build" + } + ], "authentication": { "type": "No Auth" },