diff --git a/packages/bruno-converters/src/insomnia/insomnia-to-bruno.js b/packages/bruno-converters/src/insomnia/insomnia-to-bruno.js index d4d829e7b..4968870b0 100644 --- a/packages/bruno-converters/src/insomnia/insomnia-to-bruno.js +++ b/packages/bruno-converters/src/insomnia/insomnia-to-bruno.js @@ -157,6 +157,12 @@ const transformInsomniaRequestItem = (request, index, allRequests) => { brunoRequestItem.request.body.graphql = parseGraphQL(request.body.text); } + const settings = { + encodeUrl: request.settings?.encodeUrl !== false && request.settingEncodeUrl !== false, // handles v4 and v5 import + } + + brunoRequestItem.settings = settings; + return brunoRequestItem; }; @@ -200,7 +206,8 @@ const parseInsomniaV5Collection = (data) => { parameters: item.parameters || [], pathParameters: item.pathParameters || [], authentication: item.authentication || {}, - body: item.body || {} + body: item.body || {}, + settings: item.settings || {} }; return transformInsomniaRequestItem(request, index, allItems); } else if (item.children && Array.isArray(item.children)) { diff --git a/packages/bruno-converters/src/postman/postman-to-bruno.js b/packages/bruno-converters/src/postman/postman-to-bruno.js index 62317ee0e..9fa85c625 100644 --- a/packages/bruno-converters/src/postman/postman-to-bruno.js +++ b/packages/bruno-converters/src/postman/postman-to-bruno.js @@ -380,6 +380,12 @@ const importPostmanV2CollectionItem = (brunoParent, item, parentAuth, { useWorke } }; + const settings = { + encodeUrl: i.protocolProfileBehavior?.disableUrlEncoding !== true + } + + brunoRequestItem.settings = settings; + brunoParent.items.push(brunoRequestItem); if (i.event) { diff --git a/packages/bruno-converters/tests/insomnia/insomnia-collection-v5.spec.js b/packages/bruno-converters/tests/insomnia/insomnia-collection-v5.spec.js index c09065fa6..3d620d1db 100644 --- a/packages/bruno-converters/tests/insomnia/insomnia-collection-v5.spec.js +++ b/packages/bruno-converters/tests/insomnia/insomnia-collection-v5.spec.js @@ -4,7 +4,7 @@ import insomniaToBruno from '../../src/insomnia/insomnia-to-bruno'; describe('insomnia-collection', () => { it('should correctly import a valid Insomnia v5 collection file', async () => { const brunoCollection = insomniaToBruno(insomniaCollection); - + expect(brunoCollection).toMatchObject(expectedOutput) }); }); @@ -59,7 +59,7 @@ collection: method: GET settings: renderRequestBody: true - encodeUrl: true + encodeUrl: false followRedirects: global cookies: send: true @@ -113,6 +113,9 @@ const expectedOutput = { "seq": 1, "type": "http-request", "uid": "mockeduuidvalue123456", + "settings": { + "encodeUrl": true, + }, }, ], "name": "Folder1", @@ -146,6 +149,9 @@ const expectedOutput = { "seq": 1, "type": "http-request", "uid": "mockeduuidvalue123456", + "settings": { + "encodeUrl": false, + }, }, ], "name": "Folder2", diff --git a/packages/bruno-converters/tests/insomnia/insomnia-collection.spec.js b/packages/bruno-converters/tests/insomnia/insomnia-collection.spec.js index e6cb5a2c8..03df7e44f 100644 --- a/packages/bruno-converters/tests/insomnia/insomnia-collection.spec.js +++ b/packages/bruno-converters/tests/insomnia/insomnia-collection.spec.js @@ -22,6 +22,7 @@ const insomniaCollection = { "name": "Request1", "method": "GET", "url": "https://httpbin.org/get", + "settingEncodeUrl": false, "parameters": [] }, { @@ -31,6 +32,7 @@ const insomniaCollection = { "name": "Request2", "method": "GET", "url": "https://httpbin.org/get", + "settingEncodeUrl": true, "parameters": [] }, { @@ -92,6 +94,9 @@ const expectedOutput = { "seq": 1, "type": "http-request", "uid": "mockeduuidvalue123456", + "settings": { + "encodeUrl": false, + }, }, { "name": "Request1", @@ -118,6 +123,9 @@ const expectedOutput = { "seq": 2, "type": "http-request", "uid": "mockeduuidvalue123456", + "settings": { + "encodeUrl": false, + }, }, ], "name": "Folder1", @@ -151,6 +159,9 @@ const expectedOutput = { "seq": 1, "type": "http-request", "uid": "mockeduuidvalue123456", + "settings": { + "encodeUrl": true, + }, }, { "name": "Request2", @@ -177,6 +188,9 @@ const expectedOutput = { "seq": 2, "type": "http-request", "uid": "mockeduuidvalue123456", + "settings": { + "encodeUrl": true, + }, }, ], "name": "Folder2",