This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 343c0492d0ed [JBANG-IT] Adapt container-only tests to run on host
(#28526)
343c0492d0ed is described below
commit 343c0492d0edb831e6c163278fcc5dd96f562e69
Author: Jakub Vrubel <[email protected]>
AuthorDate: Mon Nov 2 23:22:16 2026 +0100
[JBANG-IT] Adapt container-only tests to run on host (#28526)
Co-Authored-By: Claude <[email protected]>
---
.../apache/camel/dsl/jbang/it/CamelDebugITCase.java | 2 --
.../org/apache/camel/dsl/jbang/it/DevModeITCase.java | 4 +---
.../camel/dsl/jbang/it/InfrastructureITCase.java | 5 -----
...lDebugITCase.java => InfrastructureListITCase.java} | 15 +++------------
.../org/apache/camel/dsl/jbang/it/JolokiaITCase.java | 2 --
.../org/apache/camel/dsl/jbang/it/OpenApiITCase.java | 12 +++++++-----
.../apache/camel/dsl/jbang/it/RunCommandITCase.java | 18 ++++++++++--------
.../camel/dsl/jbang/it/RunCommandOnMqttITCase.java | 9 ---------
.../it/{CamelDebugITCase.java => StubITCase.java} | 17 +++++++----------
.../camel/dsl/jbang/it/support/JBangTestSupport.java | 16 ++++++++--------
.../infra/cli/services/CliLocalProcessService.java | 15 +++++++++++++--
.../camel/test/infra/cli/services/CliService.java | 8 ++++++++
.../test/infra/cli/services/CliServiceFactory.java | 10 ++++++++++
13 files changed, 67 insertions(+), 66 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
index 82eb38b5efa6..910eded0830a 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
@@ -19,14 +19,12 @@ package org.apache.camel.dsl.jbang.it;
import java.io.IOException;
import org.apache.camel.dsl.jbang.it.support.JBangTestSupport;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import static org.junit.jupiter.api.condition.OS.WINDOWS;
@DisabledOnOs(WINDOWS)
-@Tag("container-only")
public class CamelDebugITCase extends JBangTestSupport {
@Test
public void testDebug() throws IOException {
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/DevModeITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/DevModeITCase.java
index 0d22f8220b03..f30c638f2be8 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/DevModeITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/DevModeITCase.java
@@ -31,7 +31,6 @@ import org.apache.camel.dsl.jbang.it.support.JBangTestSupport;
import org.apache.camel.dsl.jbang.it.support.JiraIssue;
import org.assertj.core.api.Assertions;
import org.assertj.core.api.SoftAssertions;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
public class DevModeITCase extends JBangTestSupport {
@@ -76,12 +75,11 @@ public class DevModeITCase extends JBangTestSupport {
@Test
@JiraIssue("CAMEL-20939")
- @Tag("container-only")
public void runUsingProfileTest() throws IOException {
copyResourceInDataFolder(TestResources.HELLO_NAME);
copyResourceInDataFolder(TestResources.TEST_PROFILE_PROP);
containerService.copyFileInternally(mountPoint() + "/" +
TestResources.TEST_PROFILE_PROP.getName(),
- DEFAULT_ROUTE_FOLDER);
+ containerService.getCommandWorkDir() + "/" +
TestResources.TEST_PROFILE_PROP.getName());
executeBackground(String.format("run %s/%s", mountPoint(),
TestResources.HELLO_NAME.getName()));
checkLogContains("Hello Camel from John");
execute("stop helloName");
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureITCase.java
index d7beba63fda1..790feebcdb6b 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureITCase.java
@@ -55,11 +55,6 @@ public class InfrastructureITCase extends JBangTestSupport {
return message.split(":")[1].replaceAll("[^0-9]", "");
}
- @Test
- public void infraListTest() {
- checkCommandOutputsPattern("infra list",
"ALIAS\s+IMPLEMENTATION\s+UI\s+DESCRIPTION");
- }
-
@DisabledIfSystemProperty(named = "ci.env.name", matches = ".*",
disabledReason = "Requires too much resources")
@Test
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureListITCase.java
similarity index 65%
copy from
dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
copy to
dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureListITCase.java
index 82eb38b5efa6..36f56371e08f 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/InfrastructureListITCase.java
@@ -16,22 +16,13 @@
*/
package org.apache.camel.dsl.jbang.it;
-import java.io.IOException;
-
import org.apache.camel.dsl.jbang.it.support.JBangTestSupport;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import static org.junit.jupiter.api.condition.OS.WINDOWS;
+public class InfrastructureListITCase extends JBangTestSupport {
-@DisabledOnOs(WINDOWS)
-@Tag("container-only")
-public class CamelDebugITCase extends JBangTestSupport {
@Test
- public void testDebug() throws IOException {
- copyResourceInDataFolder(TestResources.ROUTE2);
- execNohup(String.format("debug %s/route2.yaml", mountPoint()));
- checkLogContains("Debugger JMXConnector listening at:");
+ public void infraListTest() {
+ checkCommandOutputsPattern("infra list",
"ALIAS\\s+IMPLEMENTATION\\s+UI\\s+DESCRIPTION");
}
}
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/JolokiaITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/JolokiaITCase.java
index addfaec8e493..65c092e322b7 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/JolokiaITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/JolokiaITCase.java
@@ -23,14 +23,12 @@ import
org.apache.camel.dsl.jbang.it.support.JBangTestSupport;
import org.assertj.core.api.Assertions;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import static org.junit.jupiter.api.condition.OS.WINDOWS;
@DisabledOnOs(WINDOWS)
-@Tag("container-only")
public class JolokiaITCase extends JBangTestSupport {
private String hawtioPid;
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/OpenApiITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/OpenApiITCase.java
index 326886a684b2..5c02a177b75b 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/OpenApiITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/OpenApiITCase.java
@@ -31,11 +31,13 @@ import org.apache.camel.dsl.jbang.it.support.InVersion;
import org.apache.camel.dsl.jbang.it.support.JBangTestSupport;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnOs;
import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper;
-@Tag("container-only")
+import static org.junit.jupiter.api.condition.OS.WINDOWS;
+
+@DisabledOnOs(WINDOWS)
public class OpenApiITCase extends JBangTestSupport {
@AfterEach
@@ -116,7 +118,7 @@ public class OpenApiITCase extends JBangTestSupport {
final String generatedPath = mountPoint() + "/petstore";
generateProperties(Map.of("camel.jbang.runtime", "spring-boot",
"camel.jbang.gav", "example:petstore:1.0-SNAPSHOT",
"camel.jbang.exportDir", generatedPath, "camel.jbang.open-api",
- DEFAULT_ROUTE_FOLDER + "/petstore-v3.json"));
+ containerService.getCommandWorkDir() + "/petstore-v3.json"));
execute("export");
assertFileInDataFolderExists("petstore");
assertFileInDataFolderExists("petstore/src/main/resources/petstore-v3.json");
@@ -134,9 +136,9 @@ public class OpenApiITCase extends JBangTestSupport {
execute("plugin add generate");
execute("plugin get");
execute("generate rest --dto --input=petstore-v3.json
--output=rest-dsl.yaml --runtime=spring-boot --routes");
- List<String> generatedDTO =
containerService.listDirectory(DEFAULT_ROUTE_FOLDER + "/model").toList();
+ List<String> generatedDTO =
containerService.listDirectory(containerService.getCommandWorkDir() +
"/model").toList();
Assertions.assertThat(generatedDTO).as("check generated DTO
number").hasSize(8);
- assertFileInContainerExists(DEFAULT_ROUTE_FOLDER + "/rest-dsl.yaml");
+ assertFileInContainerExists(containerService.getCommandWorkDir() +
"/rest-dsl.yaml");
}
private HttpResponse<String> executeHttpRequest(final String ctxUrl,
boolean acceptJson) {
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandITCase.java
index cda6a8f96d3c..6927ad6476e8 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandITCase.java
@@ -81,18 +81,20 @@ public class RunCommandITCase extends JBangTestSupport {
}
@Test
- @Tag("container-only")
+ @DisabledOnOs(WINDOWS)
public void runRoutesFromMultipleFilesUsingWildcardTest() {
+ final String dir1 = mountPoint() + "/tmp-one";
+ final String dir2 = mountPoint() + "/tmp-two";
try {
- execute("init one.yaml --directory=/tmp/one");
- execute("init two.xml --directory=/tmp/two");
- copyInternallyToDataFolder("/tmp/one/one.yaml");
- copyInternallyToDataFolder("/tmp/two/two.xml");
+ execute("init one.yaml --directory=" + dir1);
+ execute("init two.xml --directory=" + dir2);
+ copyInternallyToDataFolder(dir1 + "/one.yaml");
+ copyInternallyToDataFolder(dir2 + "/two.xml");
executeBackground(String.format("run %s/* ", mountPoint()));
checkLogContains(DEFAULT_MSG);
checkLogContains(DEFAULT_MSG);
} finally {
- execInContainer("rm -rf /tmp/one /tmp/two");
+ execInContainer("rm -rf " + dir1 + " " + dir2);
}
}
@@ -132,10 +134,10 @@ public class RunCommandITCase extends JBangTestSupport {
}
@Test
- @Tag("container-only")
public void runDownloadedFromGithubTest() {
execute("init
https://github.com/apache/camel-kamelets-examples/tree/main/jbang/dependency-injection");
-
Assertions.assertThat(containerService.listDirectory(DEFAULT_ROUTE_FOLDER))
+ Assertions
+
.assertThat(containerService.listDirectory(containerService.getCommandWorkDir()))
.as("default route directory")
.contains("Echo.java", "Hello.java", "README.adoc",
"application.properties");
executeBackground("run *");
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
index c3e46d8f7ec5..ffb74509eb54 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/RunCommandOnMqttITCase.java
@@ -62,15 +62,6 @@ public class RunCommandOnMqttITCase extends JBangTestSupport
{
checkLogContains("The temperature is 21");
}
- @Test
- public void testStub() throws IOException {
- copyResourceInDataFolder(TestResources.STUB_ROUTE);
- final String process = executeBackground(String.format("run %s/%s
--stub=jms",
- mountPoint(), TestResources.STUB_ROUTE.getName()));
- checkCommandOutputs("cmd send --body='Hello camel from stubbed jms' "
+ process, "Sent (success)");
- checkCommandOutputs("cmd stub --browse", "Hello camel from stubbed
jms", ASSERTION_WAIT_SECONDS);
- }
-
private String getIpAddr(final GenericContainer container) {
return
container.getCurrentContainerInfo().getNetworkSettings().getNetworks().entrySet()
.stream().filter(entry -> "127.0.0.1" !=
entry.getValue().getIpAddress())
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/StubITCase.java
similarity index 65%
copy from
dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
copy to
dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/StubITCase.java
index 82eb38b5efa6..0769b39aaab1 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/CamelDebugITCase.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/StubITCase.java
@@ -19,19 +19,16 @@ package org.apache.camel.dsl.jbang.it;
import java.io.IOException;
import org.apache.camel.dsl.jbang.it.support.JBangTestSupport;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import static org.junit.jupiter.api.condition.OS.WINDOWS;
+public class StubITCase extends JBangTestSupport {
-@DisabledOnOs(WINDOWS)
-@Tag("container-only")
-public class CamelDebugITCase extends JBangTestSupport {
@Test
- public void testDebug() throws IOException {
- copyResourceInDataFolder(TestResources.ROUTE2);
- execNohup(String.format("debug %s/route2.yaml", mountPoint()));
- checkLogContains("Debugger JMXConnector listening at:");
+ public void testStub() throws IOException {
+ copyResourceInDataFolder(TestResources.STUB_ROUTE);
+ final String process = executeBackground(String.format("run %s/%s
--stub=jms",
+ mountPoint(), TestResources.STUB_ROUTE.getName()));
+ checkCommandOutputs("cmd send --body='Hello camel from stubbed jms' "
+ process, "Sent (success)");
+ checkCommandOutputs("cmd stub --browse", "Hello camel from stubbed
jms", ASSERTION_WAIT_SECONDS);
}
}
diff --git
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
index f2ecdbdff5e5..4c5b671430b7 100644
---
a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
+++
b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
@@ -67,9 +67,6 @@ public abstract class JBangTestSupport {
protected static final int ASSERTION_WAIT_SECONDS
=
Integer.parseInt(System.getProperty("jbang.it.assert.wait.timeout", "60"));
- //to use only in case of container execution, so mark with the tag
@Tag("container-only") the test
- protected static final String DEFAULT_ROUTE_FOLDER = "/home/jbang";
-
public static final String DEFAULT_MSG = "Hello Camel from";
protected String containerDataFolder;
@@ -103,12 +100,13 @@ public abstract class JBangTestSupport {
} catch (Exception | AssertionError e) {
logger.warn("integrations did not stop within timeout: {}",
e.getMessage());
}
- // Remove non-hidden files/dirs from /home/jbang to prevent
cross-test contamination.
+ // Remove non-hidden files/dirs from the command working directory
to prevent cross-test contamination.
// The JBang installation baseline is entirely hidden (.jbang/,
.bashrc, .camel-jbang/).
try {
- execInContainer("find /home/jbang -maxdepth 1 -mindepth 1 -not
-name '.*' -exec rm -rf {} +");
+ execInContainer(String.format("find %s -maxdepth 1 -mindepth 1
-not -name '.*' -exec rm -rf {} +",
+ containerService.getCommandWorkDir()));
} catch (Exception | AssertionError e) {
- logger.debug("failed to clean up test files from /home/jbang:
{}", e.getMessage());
+ logger.debug("failed to clean up test files from {}: {}",
containerService.getCommandWorkDir(), e.getMessage());
}
for (String key : new String[] { "runtime", "gav", "directory" }) {
try {
@@ -455,7 +453,8 @@ public abstract class JBangTestSupport {
protected String downloadFile(String downloadUrl) {
String fileName = this.downloadNewFileInDataFolder(downloadUrl);
- containerService.copyFileInternally(mountPoint() + "/" + fileName,
DEFAULT_ROUTE_FOLDER);
+ containerService.copyFileInternally(mountPoint() + "/" + fileName,
+ containerService.getCommandWorkDir() + "/" + fileName);
return fileName;
}
@@ -475,7 +474,8 @@ public abstract class JBangTestSupport {
this.newFileInDataFolder(fileName, contentWriter.toString());
if (!inDataFolder) {
containerService.executeGenericCommand(
- String.format("mv %s/%s %s/%s", mountPoint(), fileName,
DEFAULT_ROUTE_FOLDER, fileName));
+ String.format("mv %s/%s %s/%s", mountPoint(), fileName,
containerService.getCommandWorkDir(),
+ fileName));
}
}
diff --git
a/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliLocalProcessService.java
b/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliLocalProcessService.java
index d3226cb02632..3fee87d9c654 100644
---
a/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliLocalProcessService.java
+++
b/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliLocalProcessService.java
@@ -308,7 +308,13 @@ public class CliLocalProcessService implements CliService {
@Override
public void copyFileInternally(String source, String destination) {
try {
- Files.copy(Path.of(source), Path.of(destination),
StandardCopyOption.REPLACE_EXISTING);
+ Path src = Path.of(source);
+ Path dst = Path.of(destination);
+ // Mirror `cp` semantics: if destination is an existing directory,
copy into it
+ if (Files.isDirectory(dst)) {
+ dst = dst.resolve(src.getFileName());
+ }
+ Files.copy(src, dst, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
Assertions.fail(String.format("unable to copy file %s to %s",
source, destination), e);
}
@@ -525,7 +531,7 @@ public class CliLocalProcessService implements CliService {
private void createMavenSettingsFile() {
try {
- mavenSettingsFile = Files.createTempFile(workDir,
"maven-settings", ".xml");
+ mavenSettingsFile =
Files.createTempFile("camel-jbang-maven-settings", ".xml");
String settingsContent = String.format(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>%n"
+ "<settings
xmlns=\"http://maven.apache.org/SETTINGS/1.0.0\"%n"
@@ -553,4 +559,9 @@ public class CliLocalProcessService implements CliService {
throw new UnsupportedOperationException("SSH is not supported for
local process service");
}
+ @Override
+ public String getCommandWorkDir() {
+ return workDir.toAbsolutePath().toString();
+ }
+
}
diff --git
a/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliService.java
b/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliService.java
index 2fd7026b7afa..99e9d7875966 100644
---
a/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliService.java
+++
b/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliService.java
@@ -86,4 +86,12 @@ public interface CliService extends BeforeEachCallback,
AfterEachCallback, TestS
default String getMainCommand() {
return System.getProperty("cli.service.command", "camel");
}
+
+ /**
+ * Returns the working directory from which camel commands are executed.
In container mode this is the container's
+ * home directory; in local process mode it is the host working directory.
+ */
+ default String getCommandWorkDir() {
+ return "/home/jbang";
+ }
}
diff --git
a/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliServiceFactory.java
b/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliServiceFactory.java
index 11166f5e5701..cdbda487e61a 100644
---
a/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliServiceFactory.java
+++
b/test-infra/camel-test-infra-cli/src/main/java/org/apache/camel/test/infra/cli/services/CliServiceFactory.java
@@ -43,6 +43,11 @@ public final class CliServiceFactory {
return getService().executeBackground(command);
}
+ @Override
+ public String executeNohup(String command) {
+ return getService().executeNohup(command);
+ }
+
@Override
public String executeGenericCommand(String command) {
return getService().executeGenericCommand(command);
@@ -97,6 +102,11 @@ public final class CliServiceFactory {
public String getSshPassword() {
return getService().getSshPassword();
}
+
+ @Override
+ public String getCommandWorkDir() {
+ return getService().getCommandWorkDir();
+ }
}
private CliServiceFactory() {