From e68b2ae3b7357f08433a5a77a3830aaf0aaaa573 Mon Sep 17 00:00:00 2001 From: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com> Date: Wed, 29 Oct 2025 19:04:09 +0530 Subject: [PATCH] feat: Import Insomnia environments (#5716) * feat: Implement environment conversion utilities for Insomnia to Bruno migration fix tests fix: test feat: updated `toBrunoEnv` and merging functions to flatten environment data using dot-notation keys. added tests for `buildV5Environments` and `buildV4Environments` to verify flattened key behavior and shallow overrides. chore: update package-lock.json refactor: replace `flat` library with custom `flattenObject` utility for improved environment data flattening chore: remove package-lock.json updates feat: update `toBrunoEnv` to convert environment values to strings and adjust tests for flattened key behavior in Insomnia environment imports refactor: update flattening logic to use JavaScript-style square bracket notation for arrays and adjust related tests feat: enhance insomnia-to-bruno conversion by normalizing variables in requests, and add tests for v4 and v5 environment imports refactor: improve variable naming and streamline environment building logic in `buildV5Environments` and `buildV4Environments` functions test: add cleanup step to environment import tests and update expected version for new feature * revert package-lock.json changes * test: Add data-testid attributes to environment variable rows in EnvironmentVariables component --- .../EnvironmentVariables/index.js | 2 +- .../EnvironmentVariables/index.js | 2 +- .../src/insomnia/env-utils.js | 90 ++++++++ .../src/insomnia/insomnia-to-bruno.js | 26 ++- .../bruno-converters/src/utils/flatten.js | 51 +++++ .../tests/insomnia/env-utils.spec.js | 100 +++++++++ .../insomnia/insomnia-collection-v5.spec.js | 22 +- .../insomnia/insomnia-collection.spec.js | 22 +- .../tests/utils/flatten.spec.js | 55 +++++ .../fixtures/insomnia-v4-with-envs.json | 123 ++++++++++ .../fixtures/insomnia-v5-with-envs.yaml | 87 +++++++ .../import-insomnia-v4-environments.spec.ts | 185 +++++++++++++++ .../import-insomnia-v5-environments.spec.ts | 212 ++++++++++++++++++ 13 files changed, 962 insertions(+), 15 deletions(-) create mode 100644 packages/bruno-converters/src/insomnia/env-utils.js create mode 100644 packages/bruno-converters/src/utils/flatten.js create mode 100644 packages/bruno-converters/tests/insomnia/env-utils.spec.js create mode 100644 packages/bruno-converters/tests/utils/flatten.spec.js create mode 100644 tests/import/insomnia/fixtures/insomnia-v4-with-envs.json create mode 100644 tests/import/insomnia/fixtures/insomnia-v5-with-envs.yaml create mode 100644 tests/import/insomnia/import-insomnia-v4-environments.spec.ts create mode 100644 tests/import/insomnia/import-insomnia-v5-environments.spec.ts diff --git a/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js b/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js index 116fefb09..17faa570c 100644 --- a/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js +++ b/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js @@ -185,7 +185,7 @@ const EnvironmentVariables = ({ environment, collection, setIsModified, original
{formik.values.map((variable, index) => ( -