From 5691b1d215ce5d932cb7bf3f0c06aa999ab9f298 Mon Sep 17 00:00:00 2001 From: jan-vcapgemini Date: Tue, 14 May 2024 09:46:36 +0200 Subject: [PATCH 1/2] #331: fixed CobiGen installation replaced jar with tar.gz file (taken from devonfw-ide implementation) --- .../devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java index 484118ee9..9847721d3 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java @@ -12,6 +12,12 @@ protected String getTool() { return "cobigen"; } + @Override + protected String getExtension() { + + return ".tar.gz"; + } + @Override protected String getMavenGroupIdPath() { From afd378fb7c60d324ffc1b646a56ab829bdeec43b Mon Sep 17 00:00:00 2001 From: jan-vcapgemini Date: Tue, 14 May 2024 10:37:21 +0200 Subject: [PATCH 2/2] #331: added simple tests added installation test added run test --- .../tools/ide/tool/cobigen/CobigenTest.java | 64 +++++++++++++++++++ .../cobigen/project/settings/ide.properties | 3 + .../cobigen/project/workspaces/main/readme | 0 .../cobigen/cobigen/default/bin/cobigen | 2 + .../repository/java/java/default/bin/java | 2 + .../repository/java/java/default/bin/java.cmd | 2 + .../repository/mvn/mvn/default/bin/mvn | 2 + 7 files changed, 75 insertions(+) create mode 100644 cli/src/test/java/com/devonfw/tools/ide/tool/cobigen/CobigenTest.java create mode 100644 cli/src/test/resources/ide-projects/cobigen/project/settings/ide.properties create mode 100644 cli/src/test/resources/ide-projects/cobigen/project/workspaces/main/readme create mode 100644 cli/src/test/resources/ide-projects/cobigen/repository/cobigen/cobigen/default/bin/cobigen create mode 100644 cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java create mode 100644 cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java.cmd create mode 100644 cli/src/test/resources/ide-projects/cobigen/repository/mvn/mvn/default/bin/mvn diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/cobigen/CobigenTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/cobigen/CobigenTest.java new file mode 100644 index 000000000..d56dcd477 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/cobigen/CobigenTest.java @@ -0,0 +1,64 @@ +package com.devonfw.tools.ide.tool.cobigen; + +import com.devonfw.tools.ide.context.AbstractIdeContextTest; +import com.devonfw.tools.ide.context.IdeTestContext; +import com.devonfw.tools.ide.log.IdeLogLevel; +import org.junit.jupiter.api.Test; + +/** + * Integration test of {@link Cobigen}. + */ +public class CobigenTest extends AbstractIdeContextTest { + + private static final String COBIGEN = "cobigen"; + + private final IdeTestContext context = newContext(COBIGEN); + + /** + * Tests if {@link Cobigen} can be installed properly. + */ + @Test + public void testCobigenInstall() { + + // arrange + IdeTestContext context = newContext(COBIGEN); + + Cobigen commandlet = new Cobigen(context); + + // act + commandlet.install(); + + // assert + checkInstallation(context); + } + + /** + * Tests if {@link Cobigen} can be run properly. + */ + @Test + public void testCobigenRun() { + // arrange + + Cobigen commandlet = new Cobigen(this.context); + + // act + commandlet.run(); + + // assert + assertLogMessage(this.context, IdeLogLevel.INFO, COBIGEN + " "); + + checkInstallation(this.context); + } + + private void checkInstallation(IdeTestContext context) { + + // install - java + assertThat(context.getSoftwarePath().resolve("java/bin/java")).exists(); + // install - mvn + assertThat(context.getSoftwarePath().resolve("mvn/bin/mvn")).exists(); + + // commandlet - cobigen + assertThat(context.getSoftwarePath().resolve("cobigen/.ide.software.version")).exists().hasContent("2021.12.006"); + assertLogMessage(context, IdeLogLevel.SUCCESS, "Successfully installed cobigen in version 2021.12.006"); + } +} diff --git a/cli/src/test/resources/ide-projects/cobigen/project/settings/ide.properties b/cli/src/test/resources/ide-projects/cobigen/project/settings/ide.properties new file mode 100644 index 000000000..d9bab2a9f --- /dev/null +++ b/cli/src/test/resources/ide-projects/cobigen/project/settings/ide.properties @@ -0,0 +1,3 @@ +JAVA_VERSION=17.0.10_7 +MAVEN_VERSION=3.9.6 +COBIGEN_VERSION=2021.12.006 \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/cobigen/project/workspaces/main/readme b/cli/src/test/resources/ide-projects/cobigen/project/workspaces/main/readme new file mode 100644 index 000000000..e69de29bb diff --git a/cli/src/test/resources/ide-projects/cobigen/repository/cobigen/cobigen/default/bin/cobigen b/cli/src/test/resources/ide-projects/cobigen/repository/cobigen/cobigen/default/bin/cobigen new file mode 100644 index 000000000..724bda873 --- /dev/null +++ b/cli/src/test/resources/ide-projects/cobigen/repository/cobigen/cobigen/default/bin/cobigen @@ -0,0 +1,2 @@ +#!/bin/bash +echo "cobigen $*" \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java b/cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java new file mode 100644 index 000000000..0aa8af9dc --- /dev/null +++ b/cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java @@ -0,0 +1,2 @@ +#!/bin/bash +echo "java $*" \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java.cmd b/cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java.cmd new file mode 100644 index 000000000..bbaac3802 --- /dev/null +++ b/cli/src/test/resources/ide-projects/cobigen/repository/java/java/default/bin/java.cmd @@ -0,0 +1,2 @@ +@echo off +echo java %* \ No newline at end of file diff --git a/cli/src/test/resources/ide-projects/cobigen/repository/mvn/mvn/default/bin/mvn b/cli/src/test/resources/ide-projects/cobigen/repository/mvn/mvn/default/bin/mvn new file mode 100644 index 000000000..6ff946514 --- /dev/null +++ b/cli/src/test/resources/ide-projects/cobigen/repository/mvn/mvn/default/bin/mvn @@ -0,0 +1,2 @@ +#!/bin/bash +echo "mvn $*" \ No newline at end of file