From f646b4dc2c9a4b33f56820da37eada5f078648cb Mon Sep 17 00:00:00 2001 From: ndemirca <157051033+ndemirca@users.noreply.github.com> Date: Thu, 29 Feb 2024 17:20:24 +0100 Subject: [PATCH] first unittest npm --- .../FileExtractor/ExctractorFileType.java | 2 +- .../com/devonfw/tools/ide/tool/npm/Npm.java | 30 +++++----- .../ide/commandlet/InstallCommandletTest.java | 8 +-- .../devonfw/tools/ide/tool/jmc/JmcTest.java | 8 +-- .../devonfw/tools/ide/tool/npm/NpmTest.java | 57 +++++++++++++++++++ .../node/node/v18.19.1/.ide.software.version | 1 + .../node/v18.19.1/node_modules/npm/bin/npm | 1 + .../v18.19.1/node_modules/npm/bin/npm.cmd | 1 + .../node/v18.19.1/node_modules/npm/bin/npx | 1 + .../v18.19.1/node_modules/npm/bin/npx.cmd | 1 + .../software/default/node/node/v18.19.1/npm | 1 + .../default/node/node/v18.19.1/npm.cmd | 1 + .../software/default/node/node/v18.19.1/npx | 1 + .../default/node/node/v18.19.1/npx.cmd | 1 + .../ide-projects/npm/_ide/software/readme | 1 + .../npm-9.9.2/package/README.md | 1 + .../npm-9.9.2/package/bin/dummyTextFile.txt | 1 + .../package/bin/node-gyp-bin/node-gyp | 1 + .../package/bin/node-gyp-bin/node-gyp.cmd | 1 + .../package/node_modules/color-name/LICENSE | 1 + .../npm/project/conf/ide.properties | 16 ++++++ .../npm/project/home/.ide/ide.properties | 15 +++++ .../eclipse/plugins/anyedit.properties | 3 + .../npm/project/home/Downloads/ide/readme | 1 + .../ide-projects/npm/project/home/readme | 1 + .../resources/ide-projects/npm/project/readme | 1 + .../ide-projects/npm/project/scripts/ide | 1 + .../eclipse/plugins/anyedit.properties | 3 + .../eclipse/plugins/checkstyle.properties | 3 + .../npm/project/settings/ide.properties | 22 +++++++ .../resources/ide-projects/npm/project/setup | 1 + .../software/node/.ide.software.version | 1 + .../node/node_modules/corepack/LICENSE.md | 1 + .../node/node_modules/corepack/README.md | 1 + .../node/node_modules/corepack/dist/dummy.txt | 3 + .../node_modules/corepack/dist/lib/dummy.txt | 3 + .../node_modules/corepack/shims/nodewin/npm | 1 + .../corepack/shims/nodewin/npm.cmd | 1 + .../node/node_modules/corepack/shims/npm | 1 + .../node/node_modules/corepack/shims/npm.cmd | 1 + .../software/node/node_modules/npm/bin/npm | 1 + .../node/node_modules/npm/bin/npm.cmd | 1 + .../software/node/node_modules/npm/bin/npx | 1 + .../node/node_modules/npm/bin/npx.cmd | 1 + .../project/software/node/node_modules/readme | 1 + .../npm/project/software/node/npm | 1 + .../npm/project/software/node/npm.cmd | 1 + .../npm/project/software/node/npx | 1 + .../npm/project/software/node/npx.cmd | 1 + .../workspaces/foo-test/ide.properties | 12 ++++ .../workspaces/foo-test/my-git-repo/readme | 1 + .../npm/project/workspaces/foo-test/readme | 1 + .../npm/project/workspaces/main/readme | 1 + .../test/resources/ide-projects/npm/readme | 1 + 54 files changed, 200 insertions(+), 25 deletions(-) create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/.ide.software.version create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/_ide/software/readme create mode 100644 cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/README.md create mode 100644 cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/dummyTextFile.txt create mode 100644 cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp create mode 100644 cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/node_modules/color-name/LICENSE create mode 100644 cli/src/test/resources/ide-projects/npm/project/conf/ide.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/home/.ide/ide.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/home/.ide/settings/eclipse/plugins/anyedit.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/home/Downloads/ide/readme create mode 100644 cli/src/test/resources/ide-projects/npm/project/home/readme create mode 100644 cli/src/test/resources/ide-projects/npm/project/readme create mode 100644 cli/src/test/resources/ide-projects/npm/project/scripts/ide create mode 100644 cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/anyedit.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/checkstyle.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/settings/ide.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/setup create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/.ide.software.version create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/LICENSE.md create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/README.md create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/dummy.txt create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/lib/dummy.txt create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/readme create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/npm create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/npm.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/npx create mode 100644 cli/src/test/resources/ide-projects/npm/project/software/node/npx.cmd create mode 100644 cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/ide.properties create mode 100644 cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/my-git-repo/readme create mode 100644 cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/readme create mode 100644 cli/src/test/resources/ide-projects/npm/project/workspaces/main/readme create mode 100644 cli/src/test/resources/ide-projects/npm/readme diff --git a/cli/src/main/java/com/devonfw/tools/ide/commandlet/FileExtractor/ExctractorFileType.java b/cli/src/main/java/com/devonfw/tools/ide/commandlet/FileExtractor/ExctractorFileType.java index d760df788..2fb33bbce 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/commandlet/FileExtractor/ExctractorFileType.java +++ b/cli/src/main/java/com/devonfw/tools/ide/commandlet/FileExtractor/ExctractorFileType.java @@ -1,5 +1,5 @@ package com.devonfw.tools.ide.commandlet.FileExtractor; enum ExtractorFileType { - ZIP, JAR, DMG, MSI, PKG + ZIP, JAR, DMG, MSI, PKG, TAR, GZ, TGZ } \ No newline at end of file diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/npm/Npm.java b/cli/src/main/java/com/devonfw/tools/ide/tool/npm/Npm.java index aae24dda9..0a379450a 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/npm/Npm.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/npm/Npm.java @@ -40,19 +40,21 @@ public void postInstall() { FileAccess fileAccess = context.getFileAccess(); Path nodeHomePath = this.context.getSoftwarePath().resolve("node/"); - Path npmBinBath = nodeHomePath.resolve("node_modules/npm/bin/"); - String npm = "npm"; - String npx = "npx"; - String cmd = ".cmd"; - - fileAccess.delete(nodeHomePath.resolve(npm)); - fileAccess.delete(nodeHomePath.resolve(npm + cmd)); - fileAccess.delete(nodeHomePath.resolve(npx)); - fileAccess.delete(nodeHomePath.resolve(npx + cmd)); - - fileAccess.copy(npmBinBath.resolve(npm), nodeHomePath.resolve(npm)); - fileAccess.copy(npmBinBath.resolve(npm + cmd), nodeHomePath.resolve(npm + cmd)); - fileAccess.copy(npmBinBath.resolve(npx), nodeHomePath.resolve(npx)); - fileAccess.copy(npmBinBath.resolve(npx + cmd), nodeHomePath.resolve(npx + cmd)); + if(context.getSystemInfo().isWindows()) { + Path npmBinBath = nodeHomePath.resolve("node_modules/npm/bin/"); + String npm = "npm"; + String npx = "npx"; + String cmd = ".cmd"; + + fileAccess.delete(nodeHomePath.resolve(npm)); + fileAccess.delete(nodeHomePath.resolve(npm + cmd)); + fileAccess.delete(nodeHomePath.resolve(npx)); + fileAccess.delete(nodeHomePath.resolve(npx + cmd)); + + fileAccess.copy(npmBinBath.resolve(npm), nodeHomePath.resolve(npm)); + fileAccess.copy(npmBinBath.resolve(npm + cmd), nodeHomePath.resolve(npm + cmd)); + fileAccess.copy(npmBinBath.resolve(npx), nodeHomePath.resolve(npx)); + fileAccess.copy(npmBinBath.resolve(npx + cmd), nodeHomePath.resolve(npx + cmd)); + } } } diff --git a/cli/src/test/java/com/devonfw/tools/ide/commandlet/InstallCommandletTest.java b/cli/src/test/java/com/devonfw/tools/ide/commandlet/InstallCommandletTest.java index ac21f6f86..ff0c9b6bd 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/commandlet/InstallCommandletTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/commandlet/InstallCommandletTest.java @@ -1,8 +1,6 @@ package com.devonfw.tools.ide.commandlet; -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; -import static com.github.tomakehurst.wiremock.client.WireMock.get; -import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static com.github.tomakehurst.wiremock.client.WireMock.*; import java.io.IOException; import java.nio.file.Files; @@ -28,14 +26,14 @@ public class InstallCommandletTest extends AbstractIdeContextTest { private static Path resourcePath = Path.of("src/test/resources"); @BeforeAll - static void setUp() throws IOException { + static void setUp() { server = new WireMockServer(WireMockConfiguration.wireMockConfig().port(1111)); server.start(); } @AfterAll - static void tearDown() throws IOException { + static void tearDown() { server.shutdownServer(); } diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/jmc/JmcTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/jmc/JmcTest.java index a02d1e5b5..2f81aafbd 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/tool/jmc/JmcTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/jmc/JmcTest.java @@ -1,8 +1,6 @@ package com.devonfw.tools.ide.tool.jmc; -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; -import static com.github.tomakehurst.wiremock.client.WireMock.get; -import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static com.github.tomakehurst.wiremock.client.WireMock.*; import java.io.IOException; import java.nio.file.Files; @@ -34,7 +32,7 @@ public class JmcTest extends AbstractIdeContextTest { private static final Path RESOURCE_PATH = Path.of("src/test/resources"); @BeforeAll - static void setUp() throws IOException { + static void setUp() { // TODO use random port number and create url file dynamically in project // TODO ISSUE:https://github.com/devonfw/IDEasy/issues/223 @@ -44,7 +42,7 @@ static void setUp() throws IOException { } @AfterAll - static void tearDown() throws IOException { + static void tearDown() { server.shutdownServer(); } diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmTest.java index 19ac85220..d91492147 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmTest.java @@ -1,7 +1,64 @@ package com.devonfw.tools.ide.tool.npm; +import java.io.IOException; +import java.nio.file.Path; + +import org.junit.jupiter.api.Test; + +import com.devonfw.tools.ide.commandlet.CommandLetExtractorMock; import com.devonfw.tools.ide.context.AbstractIdeContextTest; +import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.context.IdeTestContext; +import com.devonfw.tools.ide.log.IdeLogLevel; +import com.devonfw.tools.ide.repo.ToolRepositoryMock; public class NpmTest extends AbstractIdeContextTest { + @Test + public void npmPostInstallShouldMoveFiles() throws IOException { + // arrange + String path = "workspaces/foo-test/my-git-repo"; + String projectTestCaseName = "npm"; + + ToolRepositoryMock toolRepositoryMock = buildToolRepositoryMockForNpm(projectTestCaseName); + + IdeContext context = newContext(projectTestCaseName, path, true, toolRepositoryMock); + toolRepositoryMock.setContext(context); + + CommandLetExtractorMock commandLetExtractorMock = new CommandLetExtractorMock(context); + Npm commandlet = new Npm(context); + commandlet.setCommandletFileExtractor(commandLetExtractorMock); + + assertThat(context.getSoftwarePath().resolve("node/npm")).hasContent("# This is npm"); + assertThat(context.getSoftwarePath().resolve("node/npx")).hasContent("# This is npx"); + + // act + commandlet.install(); + + // assert + String expectedMessage = "Successfully installed npm in version 9.9.2"; + assertLogMessage((IdeTestContext) context, IdeLogLevel.SUCCESS, expectedMessage, false); + if (context.getSystemInfo().isWindows()) { + Path test = context.getSoftwarePath(); + assertThat(context.getSoftwarePath().resolve("node/npm")).exists(); + assertThat(context.getSoftwarePath().resolve("node/npm.cmd")).exists(); + assertThat(context.getSoftwarePath().resolve("node/npx")).exists(); + assertThat(context.getSoftwarePath().resolve("node/npx.cmd")).exists(); + + assertThat(context.getSoftwarePath().resolve("node/npm")).hasContent("# This is npm bin"); + assertThat(context.getSoftwarePath().resolve("node/npx")).hasContent("# This is npx bin"); + } + } + + private static ToolRepositoryMock buildToolRepositoryMockForNpm(String projectTestCaseName) { + + String windowsFileFolder = "npm-9.9.2"; + + ToolRepositoryMock toolRepositoryMock = new ToolRepositoryMock("npm", "9.9.2", projectTestCaseName, + windowsFileFolder, "", ""); + + toolRepositoryMock.addAlreadyInstalledTool("node", "v18.19.1"); + + return toolRepositoryMock; + } } \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/.ide.software.version b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/.ide.software.version new file mode 100644 index 000000000..60495ee0a --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/.ide.software.version @@ -0,0 +1 @@ +v18.19.1 diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm new file mode 100644 index 000000000..9ee1190e9 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm @@ -0,0 +1 @@ +# This is npm bin \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm.cmd b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm.cmd new file mode 100644 index 000000000..d293a6e9c --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npm.cmd @@ -0,0 +1 @@ +echo Dummy npm bin 9.9.2 on windows> npmTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx new file mode 100644 index 000000000..296a63b74 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx @@ -0,0 +1 @@ +# This is npx bin \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx.cmd b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx.cmd new file mode 100644 index 000000000..9cf53fe43 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/node_modules/npm/bin/npx.cmd @@ -0,0 +1 @@ +echo Dummy npx bin on windows> npxTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm new file mode 100644 index 000000000..0e1e34f43 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm @@ -0,0 +1 @@ +# This is npm \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm.cmd b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm.cmd new file mode 100644 index 000000000..8ae288d8a --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npm.cmd @@ -0,0 +1 @@ +echo Dummy npm 9.9.2 on windows> npmTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx new file mode 100644 index 000000000..07e86564e --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx @@ -0,0 +1 @@ +# This is npx \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx.cmd b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx.cmd new file mode 100644 index 000000000..fe8cb36f6 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/default/node/node/v18.19.1/npx.cmd @@ -0,0 +1 @@ +echo Dummy npx on windows> npxTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/_ide/software/readme b/cli/src/test/resources/ide-projects/npm/_ide/software/readme new file mode 100644 index 000000000..c5be1dc4f --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/_ide/software/readme @@ -0,0 +1 @@ +this is the tool repository \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/README.md b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/README.md new file mode 100644 index 000000000..8178c76d6 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/README.md @@ -0,0 +1 @@ +readme diff --git a/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/dummyTextFile.txt b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/dummyTextFile.txt new file mode 100644 index 000000000..2ed32aeb7 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/dummyTextFile.txt @@ -0,0 +1 @@ +Dummy text file diff --git a/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp new file mode 100644 index 000000000..51d597a93 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp @@ -0,0 +1 @@ +# node-gyp \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp.cmd b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp.cmd new file mode 100644 index 000000000..dd465fd18 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/bin/node-gyp-bin/node-gyp.cmd @@ -0,0 +1 @@ +echo Dummy node-gyp> nodeGypTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/node_modules/color-name/LICENSE b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/node_modules/color-name/LICENSE new file mode 100644 index 000000000..e50937072 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/downloadMockLocation/npm-9.9.2/package/node_modules/color-name/LICENSE @@ -0,0 +1 @@ +License mock under node_modules diff --git a/cli/src/test/resources/ide-projects/npm/project/conf/ide.properties b/cli/src/test/resources/ide-projects/npm/project/conf/ide.properties new file mode 100644 index 000000000..224a2cf25 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/conf/ide.properties @@ -0,0 +1,16 @@ +#******************************************************************************** +# This file contains project specific environment variables defined by the user +#******************************************************************************** + +M2_REPO=~/.m2/repository + +SOME=some-${UNDEFINED} + +TEST_ARGS1=${TEST_ARGS1} conf1 +TEST_ARGS2=${TEST_ARGS2} conf2 +TEST_ARGS5=${TEST_ARGS5} conf5 +TEST_ARGS6=${TEST_ARGS6} conf6 +TEST_ARGS7=${TEST_ARGS7} conf7 +TEST_ARGS8=${TEST_ARGS8} conf8 +TEST_ARGSa=${TEST_ARGS1} ${TEST_ARGS3} confa +TEST_ARGSc=${TEST_ARGSc} confc \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/home/.ide/ide.properties b/cli/src/test/resources/ide-projects/npm/project/home/.ide/ide.properties new file mode 100644 index 000000000..ec0c3e7f6 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/home/.ide/ide.properties @@ -0,0 +1,15 @@ +#******************************************************************************** +# This file contains the global configuration from the user HOME directory. +#******************************************************************************** + +DOCKER_EDITION=docker +FOO=foo-${BAR} + +TEST_ARGS1=${TEST_ARGS1} user1 +TEST_ARGS2=${TEST_ARGS2} user2 +TEST_ARGS3=${TEST_ARGS3} user3 +TEST_ARGS7=user7 +TEST_ARGS10=user10 +TEST_ARGSb=userb +TEST_ARGSc=${TEST_ARGS1} userc +TEST_ARGSd=${TEST_ARGS1} userd \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/home/.ide/settings/eclipse/plugins/anyedit.properties b/cli/src/test/resources/ide-projects/npm/project/home/.ide/settings/eclipse/plugins/anyedit.properties new file mode 100644 index 000000000..eb298f3bb --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/home/.ide/settings/eclipse/plugins/anyedit.properties @@ -0,0 +1,3 @@ +plugin_url=https://raw.githubusercontent.com/iloveeclipse/plugins/latest/ +plugin_id=AnyEditTools.feature.group +plugin_active=false diff --git a/cli/src/test/resources/ide-projects/npm/project/home/Downloads/ide/readme b/cli/src/test/resources/ide-projects/npm/project/home/Downloads/ide/readme new file mode 100644 index 000000000..f0dc29025 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/home/Downloads/ide/readme @@ -0,0 +1 @@ +this is the download cache \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/home/readme b/cli/src/test/resources/ide-projects/npm/project/home/readme new file mode 100644 index 000000000..5e8bc178c --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/home/readme @@ -0,0 +1 @@ +this is the users HOME directory \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/readme b/cli/src/test/resources/ide-projects/npm/project/readme new file mode 100644 index 000000000..256f5732c --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/readme @@ -0,0 +1 @@ +this is the IDE_HOME directory \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/scripts/ide b/cli/src/test/resources/ide-projects/npm/project/scripts/ide new file mode 100644 index 000000000..b0c2d7872 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/scripts/ide @@ -0,0 +1 @@ +the IDE CLI bash script \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/anyedit.properties b/cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/anyedit.properties new file mode 100644 index 000000000..09a94b116 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/anyedit.properties @@ -0,0 +1,3 @@ +plugin_url=https://raw.githubusercontent.com/iloveeclipse/plugins/latest/ +plugin_id=AnyEditTools.feature.group +plugin_active=true diff --git a/cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/checkstyle.properties b/cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/checkstyle.properties new file mode 100644 index 000000000..6e402c7c5 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/settings/eclipse/plugins/checkstyle.properties @@ -0,0 +1,3 @@ +plugin_url=https://checkstyle.org/eclipse-cs-update-site +plugin_id=net.sf.eclipsecs.feature.group +plugin_active=true diff --git a/cli/src/test/resources/ide-projects/npm/project/settings/ide.properties b/cli/src/test/resources/ide-projects/npm/project/settings/ide.properties new file mode 100644 index 000000000..c80f1e604 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/settings/ide.properties @@ -0,0 +1,22 @@ +#******************************************************************************** +# This file contains project specific environment variables +#******************************************************************************** + +JAVA_VERSION=17* +MVN_VERSION=3.9.* +ECLIPSE_VERSION=2023-03 +INTELLIJ_EDITION=ultimate + +IDE_TOOLS=mvn,eclipse + +BAR=bar-${SOME} + +TEST_ARGS1=${TEST_ARGS1} settings1 +TEST_ARGS4=${TEST_ARGS4} settings4 +TEST_ARGS5=${TEST_ARGS5} settings5 +TEST_ARGS6=${TEST_ARGS6} settings6 +TEST_ARGS7=${TEST_ARGS7} settings7 +TEST_ARGS8=settings8 +TEST_ARGS9=settings9 +TEST_ARGSb=${TEST_ARGS10} settingsb ${TEST_ARGSa} ${TEST_ARGSb} +TEST_ARGSc=${TEST_ARGSc} settingsc \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/setup b/cli/src/test/resources/ide-projects/npm/project/setup new file mode 100644 index 000000000..9c5d4b1be --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/setup @@ -0,0 +1 @@ +just a marker for detection of IDE_HOME \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/.ide.software.version b/cli/src/test/resources/ide-projects/npm/project/software/node/.ide.software.version new file mode 100644 index 000000000..60495ee0a --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/.ide.software.version @@ -0,0 +1 @@ +v18.19.1 diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/LICENSE.md b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/LICENSE.md new file mode 100644 index 000000000..2831d9e60 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/LICENSE.md @@ -0,0 +1 @@ +License diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/README.md b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/README.md new file mode 100644 index 000000000..c3243c661 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/README.md @@ -0,0 +1 @@ +readme corepack \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/dummy.txt b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/dummy.txt new file mode 100644 index 000000000..ce1c04caf --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/dummy.txt @@ -0,0 +1,3 @@ +dummy text file + + diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/lib/dummy.txt b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/lib/dummy.txt new file mode 100644 index 000000000..ce1c04caf --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/dist/lib/dummy.txt @@ -0,0 +1,3 @@ +dummy text file + + diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm new file mode 100644 index 000000000..0e1e34f43 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm @@ -0,0 +1 @@ +# This is npm \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm.cmd b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm.cmd new file mode 100644 index 000000000..8ae288d8a --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/nodewin/npm.cmd @@ -0,0 +1 @@ +echo Dummy npm 9.9.2 on windows> npmTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm new file mode 100644 index 000000000..0e1e34f43 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm @@ -0,0 +1 @@ +# This is npm \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm.cmd b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm.cmd new file mode 100644 index 000000000..8ae288d8a --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/corepack/shims/npm.cmd @@ -0,0 +1 @@ +echo Dummy npm 9.9.2 on windows> npmTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm new file mode 100644 index 000000000..9ee1190e9 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm @@ -0,0 +1 @@ +# This is npm bin \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm.cmd b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm.cmd new file mode 100644 index 000000000..d293a6e9c --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npm.cmd @@ -0,0 +1 @@ +echo Dummy npm bin 9.9.2 on windows> npmTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx new file mode 100644 index 000000000..296a63b74 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx @@ -0,0 +1 @@ +# This is npx bin \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx.cmd b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx.cmd new file mode 100644 index 000000000..9cf53fe43 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/npm/bin/npx.cmd @@ -0,0 +1 @@ +echo Dummy npx bin on windows> npxTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/readme b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/readme new file mode 100644 index 000000000..de5e013c7 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/node_modules/readme @@ -0,0 +1 @@ +here is the mocked node executeable location \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/npm b/cli/src/test/resources/ide-projects/npm/project/software/node/npm new file mode 100644 index 000000000..0e1e34f43 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/npm @@ -0,0 +1 @@ +# This is npm \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/npm.cmd b/cli/src/test/resources/ide-projects/npm/project/software/node/npm.cmd new file mode 100644 index 000000000..8ae288d8a --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/npm.cmd @@ -0,0 +1 @@ +echo Dummy npm 9.9.2 on windows> npmTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/npx b/cli/src/test/resources/ide-projects/npm/project/software/node/npx new file mode 100644 index 000000000..07e86564e --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/npx @@ -0,0 +1 @@ +# This is npx \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/software/node/npx.cmd b/cli/src/test/resources/ide-projects/npm/project/software/node/npx.cmd new file mode 100644 index 000000000..fe8cb36f6 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/software/node/npx.cmd @@ -0,0 +1 @@ +echo Dummy npx on windows> npxTestResult.txt \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/ide.properties b/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/ide.properties new file mode 100644 index 000000000..fefd6bede --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/ide.properties @@ -0,0 +1,12 @@ +#******************************************************************************** +# Type of {@link EnvironmentVariables} from the +# {@link com.devonfw.tools.ide.context.IdeContext#getWorkspacePath() workspace directory}. +#******************************************************************************** +TEST_ARGS1=${TEST_ARGS1} workspace1 +TEST_ARGS3=${TEST_ARGS3} workspace3 +TEST_ARGS6=${TEST_ARGS6} workspace6 +TEST_ARGS7=${TEST_ARGS7} workspace7 +TEST_ARGS8=${TEST_ARGS8} workspace8 +TEST_ARGS9=${TEST_ARGS9} workspace9 +TEST_ARGS10=${TEST_ARGS10} workspace10 +TEST_ARGSd=${TEST_ARGSd} workspaced \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/my-git-repo/readme b/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/my-git-repo/readme new file mode 100644 index 000000000..059135125 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/my-git-repo/readme @@ -0,0 +1 @@ +my-git-repo in foo-test workspace of jmc test case \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/readme b/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/readme new file mode 100644 index 000000000..144e7e389 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/workspaces/foo-test/readme @@ -0,0 +1 @@ +this is the foo-test workspace of jmc test case \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/project/workspaces/main/readme b/cli/src/test/resources/ide-projects/npm/project/workspaces/main/readme new file mode 100644 index 000000000..f04b5be39 --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/project/workspaces/main/readme @@ -0,0 +1 @@ +this is the main workspace of jmc test case \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/npm/readme b/cli/src/test/resources/ide-projects/npm/readme new file mode 100644 index 000000000..15b91829e --- /dev/null +++ b/cli/src/test/resources/ide-projects/npm/readme @@ -0,0 +1 @@ +this is the IDE_ROOT directory \ No newline at end of file