From b23ba9d9c400f7d0e1a2bb063b3ebc774b91c379 Mon Sep 17 00:00:00 2001 From: galargh Date: Fri, 2 Jan 2026 10:39:15 +0100 Subject: [PATCH] chore: update test parametrization --- .../safe-chain/src/config/configFile.spec.js | 34 +++++++----- .../safe-chain/src/config/settings.spec.js | 52 ++++++++++++------- 2 files changed, 54 insertions(+), 32 deletions(-) diff --git a/packages/safe-chain/src/config/configFile.spec.js b/packages/safe-chain/src/config/configFile.spec.js index 601b0d0..eff4048 100644 --- a/packages/safe-chain/src/config/configFile.spec.js +++ b/packages/safe-chain/src/config/configFile.spec.js @@ -232,12 +232,22 @@ describe("getMinimumPackageAgeHours", async () => { }); }); -for (const packageManager of ["npm", "pip"]) { - const fnName = `get${packageManager.charAt(0).toUpperCase()}${packageManager.slice(1)}CustomRegistries`; - - describe(fnName, async () => { - const fn = (await import("./configFile.js"))[fnName]; +const { getNpmCustomRegistries, getPipCustomRegistries } = await import( + "./configFile.js" +); +for (const { packageManager, getCustomRegistries } of [ + { + packageManager: "npm", + getCustomRegistries: getNpmCustomRegistries, + }, + { + packageManager: "pip", + getCustomRegistries: getPipCustomRegistries, + }, +]) +{ + describe(getCustomRegistries.name, async () => { afterEach(() => { configFileContent = undefined; }); @@ -245,7 +255,7 @@ for (const packageManager of ["npm", "pip"]) { it("should return empty array when config file doesn't exist", () => { configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); @@ -253,7 +263,7 @@ for (const packageManager of ["npm", "pip"]) { it(`should return empty array when ${packageManager} config is not set`, () => { configFileContent = JSON.stringify({ scanTimeout: 5000 }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); @@ -263,7 +273,7 @@ for (const packageManager of ["npm", "pip"]) { [packageManager]: { customRegistries: "not-an-array" }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); @@ -275,7 +285,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -297,7 +307,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -310,7 +320,7 @@ for (const packageManager of ["npm", "pip"]) { [packageManager]: { customRegistries: [] }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); @@ -318,7 +328,7 @@ for (const packageManager of ["npm", "pip"]) { it("should handle malformed JSON and return empty array", () => { configFileContent = "{ invalid json"; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); diff --git a/packages/safe-chain/src/config/settings.spec.js b/packages/safe-chain/src/config/settings.spec.js index 778628b..db513f3 100644 --- a/packages/safe-chain/src/config/settings.spec.js +++ b/packages/safe-chain/src/config/settings.spec.js @@ -11,13 +11,25 @@ mock.module("fs", { }, }); -for (const packageManager of ["npm", "pip"]) { - const fnName = `get${packageManager.charAt(0).toUpperCase()}${packageManager.slice(1)}CustomRegistries`; - const envVarName = `SAFE_CHAIN_${packageManager.toUpperCase()}_CUSTOM_REGISTRIES`; +const { getNpmCustomRegistries, getPipCustomRegistries } = await import( + "./settings.js" +); - describe(fnName, async () => { +for (const { packageManager, getCustomRegistries, envVarName } of [ + { + packageManager: "npm", + getCustomRegistries: getNpmCustomRegistries, + envVarName: "SAFE_CHAIN_NPM_CUSTOM_REGISTRIES", + }, + { + packageManager: "pip", + getCustomRegistries: getPipCustomRegistries, + envVarName: "SAFE_CHAIN_PIP_CUSTOM_REGISTRIES", + }, +]) +{ + describe(getCustomRegistries.name, async () => { let originalEnv; - const fn = (await import("./settings.js"))[fnName]; beforeEach(() => { originalEnv = process.env[envVarName]; @@ -35,7 +47,7 @@ for (const packageManager of ["npm", "pip"]) { it("should return empty array when no registries configured", () => { configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); @@ -47,7 +59,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -65,7 +77,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -83,7 +95,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -102,7 +114,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -121,7 +133,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com/custom/path`, @@ -135,7 +147,7 @@ for (const packageManager of ["npm", "pip"]) { "env1.registry.com,env2.registry.net"; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ "env1.registry.com", @@ -149,7 +161,7 @@ for (const packageManager of ["npm", "pip"]) { " env1.registry.com , env2.registry.net "; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ "env1.registry.com", @@ -166,7 +178,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ "env1.registry.com", @@ -184,7 +196,7 @@ for (const packageManager of ["npm", "pip"]) { }, }); - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ `${packageManager}.company.com`, @@ -199,7 +211,7 @@ for (const packageManager of ["npm", "pip"]) { "https://env1.registry.com,http://env2.registry.net"; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ "env1.registry.com", @@ -213,7 +225,7 @@ for (const packageManager of ["npm", "pip"]) { "env1.registry.com,,env2.registry.net,"; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, [ "env1.registry.com", @@ -226,7 +238,7 @@ for (const packageManager of ["npm", "pip"]) { process.env[envVarName] = "single.registry.com"; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, ["single.registry.com"]); }); @@ -236,7 +248,7 @@ for (const packageManager of ["npm", "pip"]) { process.env[envVarName] = ""; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); }); @@ -246,7 +258,7 @@ for (const packageManager of ["npm", "pip"]) { process.env[envVarName] = " , , "; configFileContent = undefined; - const registries = fn(); + const registries = getCustomRegistries(); assert.deepStrictEqual(registries, []); });