From 907a3a5fb75d1239ac4cbcf355a14770281fc6fa Mon Sep 17 00:00:00 2001 From: Toby Bessant Date: Mon, 20 Nov 2023 18:30:34 +0000 Subject: [PATCH 1/3] wip: move config files --- e2e/config-file/{.config => test/cli/append}/append-config.js | 2 +- e2e/config-file/{.config => test/cli/append}/append-content.txt | 0 e2e/config-file/test/cli/{ => append}/append.e2e.spec.ts | 2 +- e2e/config-file/{.config => test/cli/exclude}/exclude-config.js | 2 +- e2e/config-file/test/cli/{ => exclude}/exclude.e2e.spec.ts | 2 +- .../{.config => test/cli/inputs-output}/inputs-output-config.js | 2 +- .../test/cli/{ => inputs-output}/inputs-output.e2e.spec.ts | 2 +- .../{.config => test/cli/replacement}/replacement-config.js | 2 +- .../{.config => test/cli/replacement}/replacement-content.txt | 0 .../test/cli/{ => replacement}/replacement.e2e.spec.ts | 2 +- 10 files changed, 8 insertions(+), 8 deletions(-) rename e2e/config-file/{.config => test/cli/append}/append-config.js (75%) rename e2e/config-file/{.config => test/cli/append}/append-content.txt (100%) rename e2e/config-file/test/cli/{ => append}/append.e2e.spec.ts (90%) rename e2e/config-file/{.config => test/cli/exclude}/exclude-config.js (75%) rename e2e/config-file/test/cli/{ => exclude}/exclude.e2e.spec.ts (90%) rename e2e/config-file/{.config => test/cli/inputs-output}/inputs-output-config.js (74%) rename e2e/config-file/test/cli/{ => inputs-output}/inputs-output.e2e.spec.ts (90%) rename e2e/config-file/{.config => test/cli/replacement}/replacement-config.js (78%) rename e2e/config-file/{.config => test/cli/replacement}/replacement-content.txt (100%) rename e2e/config-file/test/cli/{ => replacement}/replacement.e2e.spec.ts (90%) diff --git a/e2e/config-file/.config/append-config.js b/e2e/config-file/test/cli/append/append-config.js similarity index 75% rename from e2e/config-file/.config/append-config.js rename to e2e/config-file/test/cli/append/append-config.js index 60c16485..a2493d0b 100644 --- a/e2e/config-file/.config/append-config.js +++ b/e2e/config-file/test/cli/append/append-config.js @@ -1,4 +1,4 @@ -const OutputFileNames = require("../test/output-filenames"); +const OutputFileNames = require("../../output-filenames"); module.exports = { inputs: ["./package.json"], diff --git a/e2e/config-file/.config/append-content.txt b/e2e/config-file/test/cli/append/append-content.txt similarity index 100% rename from e2e/config-file/.config/append-content.txt rename to e2e/config-file/test/cli/append/append-content.txt diff --git a/e2e/config-file/test/cli/append.e2e.spec.ts b/e2e/config-file/test/cli/append/append.e2e.spec.ts similarity index 90% rename from e2e/config-file/test/cli/append.e2e.spec.ts rename to e2e/config-file/test/cli/append/append.e2e.spec.ts index 3971924c..3c559b9d 100644 --- a/e2e/config-file/test/cli/append.e2e.spec.ts +++ b/e2e/config-file/test/cli/append/append.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../output-filenames.js"; +import * as OutputFileNames from "../../output-filenames.js"; const execAsync = promisify(exec); diff --git a/e2e/config-file/.config/exclude-config.js b/e2e/config-file/test/cli/exclude/exclude-config.js similarity index 75% rename from e2e/config-file/.config/exclude-config.js rename to e2e/config-file/test/cli/exclude/exclude-config.js index a360b934..1504edbb 100644 --- a/e2e/config-file/.config/exclude-config.js +++ b/e2e/config-file/test/cli/exclude/exclude-config.js @@ -1,4 +1,4 @@ -const OutputFileNames = require("../test/output-filenames"); +const OutputFileNames = require("../../output-filenames"); module.exports = { inputs: ["./package.json"], diff --git a/e2e/config-file/test/cli/exclude.e2e.spec.ts b/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts similarity index 90% rename from e2e/config-file/test/cli/exclude.e2e.spec.ts rename to e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts index af02c6f4..90ea7247 100644 --- a/e2e/config-file/test/cli/exclude.e2e.spec.ts +++ b/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../output-filenames.js"; +import * as OutputFileNames from "../../output-filenames.js"; const execAsync = promisify(exec); diff --git a/e2e/config-file/.config/inputs-output-config.js b/e2e/config-file/test/cli/inputs-output/inputs-output-config.js similarity index 74% rename from e2e/config-file/.config/inputs-output-config.js rename to e2e/config-file/test/cli/inputs-output/inputs-output-config.js index 5ae480df..c204491a 100644 --- a/e2e/config-file/.config/inputs-output-config.js +++ b/e2e/config-file/test/cli/inputs-output/inputs-output-config.js @@ -1,4 +1,4 @@ -const OutputFileNames = require("../test/output-filenames"); +const OutputFileNames = require("../../output-filenames"); module.exports = { // Test that the input and output config is picked up from config correctly. diff --git a/e2e/config-file/test/cli/inputs-output.e2e.spec.ts b/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts similarity index 90% rename from e2e/config-file/test/cli/inputs-output.e2e.spec.ts rename to e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts index e64739b8..0713fbc8 100644 --- a/e2e/config-file/test/cli/inputs-output.e2e.spec.ts +++ b/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../output-filenames.js"; +import * as OutputFileNames from "../../output-filenames.js"; const execAsync = promisify(exec); diff --git a/e2e/config-file/.config/replacement-config.js b/e2e/config-file/test/cli/replacement/replacement-config.js similarity index 78% rename from e2e/config-file/.config/replacement-config.js rename to e2e/config-file/test/cli/replacement/replacement-config.js index 85aabfa7..7a016acb 100644 --- a/e2e/config-file/.config/replacement-config.js +++ b/e2e/config-file/test/cli/replacement/replacement-config.js @@ -1,4 +1,4 @@ -const OutputFileNames = require("../test/output-filenames"); +const OutputFileNames = require("../../output-filenames"); module.exports = { inputs: ["./package.json"], diff --git a/e2e/config-file/.config/replacement-content.txt b/e2e/config-file/test/cli/replacement/replacement-content.txt similarity index 100% rename from e2e/config-file/.config/replacement-content.txt rename to e2e/config-file/test/cli/replacement/replacement-content.txt diff --git a/e2e/config-file/test/cli/replacement.e2e.spec.ts b/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts similarity index 90% rename from e2e/config-file/test/cli/replacement.e2e.spec.ts rename to e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts index c33f542d..32d4f341 100644 --- a/e2e/config-file/test/cli/replacement.e2e.spec.ts +++ b/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../output-filenames.js"; +import * as OutputFileNames from "../../output-filenames.js"; const execAsync = promisify(exec); From 215db162b48376816915279b8dcbd18fafdd9451 Mon Sep 17 00:00:00 2001 From: Toby Bessant Date: Mon, 20 Nov 2023 18:45:38 +0000 Subject: [PATCH 2/3] Update snapshots --- .../test/cli/{ => append}/__snapshots__/append.e2e.spec.ts.snap | 0 e2e/config-file/test/cli/append/append.e2e.spec.ts | 2 +- e2e/config-file/test/cli/append/{append-config.js => config.js} | 0 .../cli/{ => exclude}/__snapshots__/exclude.e2e.spec.ts.snap | 0 .../test/cli/exclude/{exclude-config.js => config.js} | 0 e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts | 2 +- .../__snapshots__/inputs-output.e2e.spec.ts.snap | 0 .../cli/inputs-output/{inputs-output-config.js => config.js} | 0 .../test/cli/inputs-output/inputs-output.e2e.spec.ts | 2 +- .../__snapshots__/replacement.e2e.spec.ts.snap | 0 .../test/cli/replacement/{replacement-config.js => config.js} | 0 e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts | 2 +- 12 files changed, 4 insertions(+), 4 deletions(-) rename e2e/config-file/test/cli/{ => append}/__snapshots__/append.e2e.spec.ts.snap (100%) rename e2e/config-file/test/cli/append/{append-config.js => config.js} (100%) rename e2e/config-file/test/cli/{ => exclude}/__snapshots__/exclude.e2e.spec.ts.snap (100%) rename e2e/config-file/test/cli/exclude/{exclude-config.js => config.js} (100%) rename e2e/config-file/test/cli/{ => inputs-output}/__snapshots__/inputs-output.e2e.spec.ts.snap (100%) rename e2e/config-file/test/cli/inputs-output/{inputs-output-config.js => config.js} (100%) rename e2e/config-file/test/cli/{ => replacement}/__snapshots__/replacement.e2e.spec.ts.snap (100%) rename e2e/config-file/test/cli/replacement/{replacement-config.js => config.js} (100%) diff --git a/e2e/config-file/test/cli/__snapshots__/append.e2e.spec.ts.snap b/e2e/config-file/test/cli/append/__snapshots__/append.e2e.spec.ts.snap similarity index 100% rename from e2e/config-file/test/cli/__snapshots__/append.e2e.spec.ts.snap rename to e2e/config-file/test/cli/append/__snapshots__/append.e2e.spec.ts.snap diff --git a/e2e/config-file/test/cli/append/append.e2e.spec.ts b/e2e/config-file/test/cli/append/append.e2e.spec.ts index 3c559b9d..d7abc710 100644 --- a/e2e/config-file/test/cli/append/append.e2e.spec.ts +++ b/e2e/config-file/test/cli/append/append.e2e.spec.ts @@ -9,7 +9,7 @@ describe("cli", () => { beforeEach(async () => {}); it("should match snapshot when content is appended", async () => { - const configPath = "./.config/append-config.js"; + const configPath = "./test/cli/append/config.js"; const outputPath = OutputFileNames.AppendConfig; await execAsync(`npx generate-license-file -c ${configPath}`); diff --git a/e2e/config-file/test/cli/append/append-config.js b/e2e/config-file/test/cli/append/config.js similarity index 100% rename from e2e/config-file/test/cli/append/append-config.js rename to e2e/config-file/test/cli/append/config.js diff --git a/e2e/config-file/test/cli/__snapshots__/exclude.e2e.spec.ts.snap b/e2e/config-file/test/cli/exclude/__snapshots__/exclude.e2e.spec.ts.snap similarity index 100% rename from e2e/config-file/test/cli/__snapshots__/exclude.e2e.spec.ts.snap rename to e2e/config-file/test/cli/exclude/__snapshots__/exclude.e2e.spec.ts.snap diff --git a/e2e/config-file/test/cli/exclude/exclude-config.js b/e2e/config-file/test/cli/exclude/config.js similarity index 100% rename from e2e/config-file/test/cli/exclude/exclude-config.js rename to e2e/config-file/test/cli/exclude/config.js diff --git a/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts b/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts index 90ea7247..a50f860a 100644 --- a/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts +++ b/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts @@ -9,7 +9,7 @@ describe("cli", () => { beforeEach(async () => {}); it("should match snapshot when content is excluded", async () => { - const configPath = "./.config/exclude-config.js"; + const configPath = "./test/cli/exclude/config.js"; const outputPath = OutputFileNames.ExcludeConfig; await execAsync(`npx generate-license-file -c ${configPath}`); diff --git a/e2e/config-file/test/cli/__snapshots__/inputs-output.e2e.spec.ts.snap b/e2e/config-file/test/cli/inputs-output/__snapshots__/inputs-output.e2e.spec.ts.snap similarity index 100% rename from e2e/config-file/test/cli/__snapshots__/inputs-output.e2e.spec.ts.snap rename to e2e/config-file/test/cli/inputs-output/__snapshots__/inputs-output.e2e.spec.ts.snap diff --git a/e2e/config-file/test/cli/inputs-output/inputs-output-config.js b/e2e/config-file/test/cli/inputs-output/config.js similarity index 100% rename from e2e/config-file/test/cli/inputs-output/inputs-output-config.js rename to e2e/config-file/test/cli/inputs-output/config.js diff --git a/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts b/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts index 0713fbc8..fb59249d 100644 --- a/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts +++ b/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts @@ -9,7 +9,7 @@ describe("cli", () => { beforeEach(async () => {}); it("should match snapshot when inputs and outputs are provided via config file", async () => { - const configPath = "./.config/inputs-output-config.js"; + const configPath = "./test/cli/inputs-output/config.js"; const outputPath = OutputFileNames.InputsOutputConfig; await execAsync(`npx generate-license-file -c ${configPath}`); diff --git a/e2e/config-file/test/cli/__snapshots__/replacement.e2e.spec.ts.snap b/e2e/config-file/test/cli/replacement/__snapshots__/replacement.e2e.spec.ts.snap similarity index 100% rename from e2e/config-file/test/cli/__snapshots__/replacement.e2e.spec.ts.snap rename to e2e/config-file/test/cli/replacement/__snapshots__/replacement.e2e.spec.ts.snap diff --git a/e2e/config-file/test/cli/replacement/replacement-config.js b/e2e/config-file/test/cli/replacement/config.js similarity index 100% rename from e2e/config-file/test/cli/replacement/replacement-config.js rename to e2e/config-file/test/cli/replacement/config.js diff --git a/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts b/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts index 32d4f341..2eb89e22 100644 --- a/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts +++ b/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts @@ -9,7 +9,7 @@ describe("cli", () => { beforeEach(async () => {}); it("should match snapshot when a package is replaced", async () => { - const configPath = "./.config/replacement-config.js"; + const configPath = "./test/cli/replacement/config.js"; const outputPath = OutputFileNames.ReplacementConfig; await execAsync(`npx generate-license-file -c ${configPath}`); From 316d2bee1819ec714957ae49a6f5b701eec03f4d Mon Sep 17 00:00:00 2001 From: Toby Bessant Date: Mon, 20 Nov 2023 18:55:20 +0000 Subject: [PATCH 3/3] remove output file names config --- e2e/config-file/test/cli/append/append.e2e.spec.ts | 7 +++---- e2e/config-file/test/cli/append/config.js | 4 +--- e2e/config-file/test/cli/exclude/config.js | 4 +--- .../test/cli/exclude/exclude.e2e.spec.ts | 7 +++---- e2e/config-file/test/cli/inputs-output/config.js | 4 +--- .../cli/inputs-output/inputs-output.e2e.spec.ts | 7 +++---- e2e/config-file/test/cli/replacement/config.js | 4 +--- .../test/cli/replacement/replacement.e2e.spec.ts | 7 +++---- e2e/config-file/test/output-filenames.js | 14 -------------- 9 files changed, 16 insertions(+), 42 deletions(-) delete mode 100644 e2e/config-file/test/output-filenames.js diff --git a/e2e/config-file/test/cli/append/append.e2e.spec.ts b/e2e/config-file/test/cli/append/append.e2e.spec.ts index d7abc710..5067b132 100644 --- a/e2e/config-file/test/cli/append/append.e2e.spec.ts +++ b/e2e/config-file/test/cli/append/append.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../../output-filenames.js"; +import { output as outputFileName } from "./config.js"; const execAsync = promisify(exec); @@ -10,13 +10,12 @@ describe("cli", () => { it("should match snapshot when content is appended", async () => { const configPath = "./test/cli/append/config.js"; - const outputPath = OutputFileNames.AppendConfig; await execAsync(`npx generate-license-file -c ${configPath}`); - const result = await fs.readFile(outputPath, "utf8"); + const result = await fs.readFile(outputFileName, "utf8"); expect(result).toMatchSnapshot(); - await fs.unlink(outputPath); + await fs.unlink(outputFileName); }); }); diff --git a/e2e/config-file/test/cli/append/config.js b/e2e/config-file/test/cli/append/config.js index a2493d0b..9ad573d7 100644 --- a/e2e/config-file/test/cli/append/config.js +++ b/e2e/config-file/test/cli/append/config.js @@ -1,8 +1,6 @@ -const OutputFileNames = require("../../output-filenames"); - module.exports = { inputs: ["./package.json"], - output: OutputFileNames.AppendConfig, + output: "append-config-output.txt", // Test that appendices are used in the output file. append: ["./append-content.txt"], diff --git a/e2e/config-file/test/cli/exclude/config.js b/e2e/config-file/test/cli/exclude/config.js index 1504edbb..16c828ad 100644 --- a/e2e/config-file/test/cli/exclude/config.js +++ b/e2e/config-file/test/cli/exclude/config.js @@ -1,8 +1,6 @@ -const OutputFileNames = require("../../output-filenames"); - module.exports = { inputs: ["./package.json"], - output: OutputFileNames.ExcludeConfig, + output: "exclude-config-output.txt", // Test that exclusions are not included in the output file. exclude: ["dep-five@1.0.0"], diff --git a/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts b/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts index a50f860a..afe4dfe0 100644 --- a/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts +++ b/e2e/config-file/test/cli/exclude/exclude.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../../output-filenames.js"; +import { output as outputFileName } from "./config.js"; const execAsync = promisify(exec); @@ -10,13 +10,12 @@ describe("cli", () => { it("should match snapshot when content is excluded", async () => { const configPath = "./test/cli/exclude/config.js"; - const outputPath = OutputFileNames.ExcludeConfig; await execAsync(`npx generate-license-file -c ${configPath}`); - const result = await fs.readFile(outputPath, "utf8"); + const result = await fs.readFile(outputFileName, "utf8"); expect(result).toMatchSnapshot(); - await fs.unlink(outputPath); + await fs.unlink(outputFileName); }); }); diff --git a/e2e/config-file/test/cli/inputs-output/config.js b/e2e/config-file/test/cli/inputs-output/config.js index c204491a..58df11f0 100644 --- a/e2e/config-file/test/cli/inputs-output/config.js +++ b/e2e/config-file/test/cli/inputs-output/config.js @@ -1,7 +1,5 @@ -const OutputFileNames = require("../../output-filenames"); - module.exports = { // Test that the input and output config is picked up from config correctly. inputs: ["./package.json"], - output: OutputFileNames.InputsOutputConfig, + output: "inputs-output-config-output.txt", }; diff --git a/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts b/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts index fb59249d..66abd1df 100644 --- a/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts +++ b/e2e/config-file/test/cli/inputs-output/inputs-output.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../../output-filenames.js"; +import { output as outputFileName } from "./config.js"; const execAsync = promisify(exec); @@ -10,13 +10,12 @@ describe("cli", () => { it("should match snapshot when inputs and outputs are provided via config file", async () => { const configPath = "./test/cli/inputs-output/config.js"; - const outputPath = OutputFileNames.InputsOutputConfig; await execAsync(`npx generate-license-file -c ${configPath}`); - const result = await fs.readFile(outputPath, "utf8"); + const result = await fs.readFile(outputFileName, "utf8"); expect(result).toMatchSnapshot(); - await fs.unlink(outputPath); + await fs.unlink(outputFileName); }); }); diff --git a/e2e/config-file/test/cli/replacement/config.js b/e2e/config-file/test/cli/replacement/config.js index 7a016acb..ed338974 100644 --- a/e2e/config-file/test/cli/replacement/config.js +++ b/e2e/config-file/test/cli/replacement/config.js @@ -1,8 +1,6 @@ -const OutputFileNames = require("../../output-filenames"); - module.exports = { inputs: ["./package.json"], - output: OutputFileNames.ReplacementConfig, + output: "replacement-config-output.txt", // Test that replacements are used in the output file. replace: { diff --git a/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts b/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts index 2eb89e22..268ca3f5 100644 --- a/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts +++ b/e2e/config-file/test/cli/replacement/replacement.e2e.spec.ts @@ -1,7 +1,7 @@ import { exec } from "child_process"; import fs from "fs/promises"; import { promisify } from "util"; -import * as OutputFileNames from "../../output-filenames.js"; +import { output as outputFileName } from "./config.js"; const execAsync = promisify(exec); @@ -10,13 +10,12 @@ describe("cli", () => { it("should match snapshot when a package is replaced", async () => { const configPath = "./test/cli/replacement/config.js"; - const outputPath = OutputFileNames.ReplacementConfig; await execAsync(`npx generate-license-file -c ${configPath}`); - const result = await fs.readFile(outputPath, "utf8"); + const result = await fs.readFile(outputFileName, "utf8"); expect(result).toMatchSnapshot(); - await fs.unlink(outputPath); + await fs.unlink(outputFileName); }); }); diff --git a/e2e/config-file/test/output-filenames.js b/e2e/config-file/test/output-filenames.js deleted file mode 100644 index c71c8395..00000000 --- a/e2e/config-file/test/output-filenames.js +++ /dev/null @@ -1,14 +0,0 @@ -// Usually the output file names are randomly generated in the test to ensure they -// do not clash when running in parallel. But when passing args in via the config files, this -// cannot be done - because the file name must be defined in said config file (ie before -// the test starts execution). -// -// This file MUST be .js so we can import it straight into the relevant .js config files. -// -// We define them here so uniqueness is easier to maintain. -module.exports = { - InputsOutputConfig: "inputs-output-config-output.txt", - ReplacementConfig: "replacement-config-output.txt", - AppendConfig: "append-config-output.txt", - ExcludeConfig: "exclude-config-output.txt", -};