This is an automated email from the ASF dual-hosted git repository.
cdeppisch 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 7830ceee727 chore(camel-jbang): Do not use single character shortcut
options
7830ceee727 is described below
commit 7830ceee72716bf07459df7dad852e4252856373
Author: Christoph Deppisch <[email protected]>
AuthorDate: Wed Jul 10 12:31:09 2024 +0200
chore(camel-jbang): Do not use single character shortcut options
---
.../modules/ROOT/pages/camel-jbang-k.adoc | 22 +++++++-------
.../modules/ROOT/pages/camel-jbang-kubernetes.adoc | 2 +-
.../modules/ROOT/pages/camel-jbang.adoc | 1 -
.../dsl/jbang/core/commands/plugin/PluginAdd.java | 12 ++++----
.../dsl/jbang/core/commands/plugin/PluginGet.java | 2 +-
.../camel/dsl/jbang/core/common/PluginHelper.java | 2 +-
.../camel/camel-jbang-plugin/camel-jbang-plugin-k | 2 +-
.../camel/dsl/jbang/core/commands/k/Bind.java | 4 +--
.../k/{KubeCommand.java => CamelKCommand.java} | 4 +--
.../k/{KubePlugin.java => CamelKPlugin.java} | 4 +--
.../dsl/jbang/core/commands/k/IntegrationLogs.java | 4 +--
.../dsl/jbang/core/commands/k/IntegrationRun.java | 31 +++++++++----------
.../camel/dsl/jbang/core/commands/k/BindTest.java | 6 ++--
.../k/{KubeBaseTest.java => CamelKBaseTest.java} | 6 ++--
...CommandMainTest.java => CamelKCommandTest.java} | 15 +++++-----
.../core/commands/k/IntegrationDeleteTest.java | 2 +-
.../jbang/core/commands/k/IntegrationGetTest.java | 2 +-
.../jbang/core/commands/k/IntegrationLogsTest.java | 4 +--
.../jbang/core/commands/k/IntegrationRunTest.java | 6 ++--
.../commands/kubernetes/KubernetesBaseTest.java | 8 +++++
.../commands/kubernetes/KubernetesCommandTest.java | 35 ++++++++++++++++++++++
.../commands/kubernetes/KubernetesRunTest.java | 7 -----
22 files changed, 108 insertions(+), 73 deletions(-)
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-k.adoc
b/docs/user-manual/modules/ROOT/pages/camel-jbang-k.adoc
index ec7a2b7252d..f817955a4d2 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-k.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-k.adoc
@@ -72,7 +72,7 @@ The run command offers a lot more options that you may use to
configure the Came
|--image
|An image built externally (for instance via CI/CD). Enabling it will skip the
integration build phase.
-|--kit, -k
+|--kit
|The kit used to run the integration.
|--trait-profile
@@ -87,10 +87,10 @@ The run command offers a lot more options that you may use
to configure the Came
|--operator-id
|Operator id selected to manage this integration. (default=camel-k)
-|--dependency, -d
+|--dependency
|Adds dependency that should be included, use "camel:" prefix for a Camel
component, "mvn:org.my:app:1.0" for a Maven dependency.
-|--property, -p
+|--property
|Add a runtime property or properties file from a path, a config map or a
secret (syntax:
[my-key=my-value,file:/path/to/my-conf.properties,[configmap,secret]:name]).
|--build-property
@@ -105,13 +105,13 @@ The run command offers a lot more options that you may
use to configure the Came
|--open-api
|Add an OpenAPI spec (syntax: [configmap,file]:name).
-|--env, -e
+|--env
|Set an environment variable in the integration container, for instance "-e
MY_VAR=my-value".
-|--volume, -v
+|--volume
|Mount a volume into the integration container, for instance "-v
pvcname:/container/path".
-|--connect, -c
+|--connect
|A Service that the integration should bind to, specified as
[[apigroup/]version:]kind:[namespace/]name.
|--source
@@ -126,7 +126,7 @@ The run command offers a lot more options that you may use
to configure the Came
|--label
|Add a label to the integration. Use name values pairs like "--label
my.company=hello".
-|--traits, -t
+|--trait
|Add a trait configuration to the integration. Use name values pairs like
"--trait trait.name.config=hello".
|--use-flows
@@ -135,13 +135,13 @@ The run command offers a lot more options that you may
use to configure the Came
|--compression
|Enable storage of sources and resources as a compressed binary blobs.
-|--wait, -w
+|--wait
|Wait for the integration to become ready.
-|--logs, -l
+|--logs
|Print logs after integration has been started.
-|--output, -o
+|--output
|Just output the generated integration custom resource (supports: yaml or json
or k8s).
|=======================================================================
@@ -226,7 +226,7 @@ The Camel K bind command supports the following options:
|--connect
|A Service that the integration should bind to, specified as
[[apigroup/]version:]kind:[namespace/]name.
-|--traits
+|--trait
|Add a trait configuration to the integration. Use name values pairs like
"--trait trait.name.config=hello".
|--wait
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
b/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
index e66a4d66714..fc777fae17a 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
@@ -130,7 +130,7 @@ The Camel JBang Kubernetes export command provides several
options to customize
|--label
|Add a label to the integration. Use name values pairs like "--label
my.company=hello".
-|--traits
+|--trait
|Add a trait configuration to the integration. Use name values pairs like
"--trait trait.name.config=hello".
|--image
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
index 9c9ec8bf09f..052cc67b0da 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
@@ -3821,7 +3821,6 @@ camel config set camel-version=4.0.1
camel run * --camel-version=4.3.0
----
-
=== Set and unset configuration
Every Camel JBang option is added to the user configuration. For example, to
export a simple project such as
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginAdd.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginAdd.java
index 33442baa802..ebea3686e75 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginAdd.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginAdd.java
@@ -33,29 +33,29 @@ public class PluginAdd extends PluginBaseCommand {
paramLabel = "<name>")
String name;
- @CommandLine.Option(names = { "--command", "-c" },
+ @CommandLine.Option(names = { "--command" },
description = "The command that the plugin uses.")
String command;
- @CommandLine.Option(names = { "--description", "-d" },
+ @CommandLine.Option(names = { "--description" },
description = "A short description of the plugin.")
String description;
- @CommandLine.Option(names = { "--artifactId", "-a" },
+ @CommandLine.Option(names = { "--artifactId" },
description = "Maven artifactId.")
String artifactId;
- @CommandLine.Option(names = { "--groupId", "-g" },
+ @CommandLine.Option(names = { "--groupId" },
defaultValue = "org.apache.camel",
description = "Maven groupId.")
String groupId = "org.apache.camel";
- @CommandLine.Option(names = { "--version", "-v" },
+ @CommandLine.Option(names = { "--version" },
defaultValue = "${camel-version}",
description = "Maven artifact version.")
String version;
- @CommandLine.Option(names = { "--first-version", "-fv" },
+ @CommandLine.Option(names = { "--first-version" },
defaultValue = "${camel-version}",
description = "First version of this plugin.")
String firstVersion;
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginGet.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginGet.java
index 8769323b56f..9a254f8bf60 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginGet.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginGet.java
@@ -33,7 +33,7 @@ import picocli.CommandLine;
description = "Display available plugins.")
public class PluginGet extends PluginBaseCommand {
- @CommandLine.Option(names = { "--all", "-a" }, defaultValue = "false",
description = "Display all available plugins.")
+ @CommandLine.Option(names = { "--all" }, defaultValue = "false",
description = "Display all available plugins.")
public boolean all;
public PluginGet(CamelJBangMain main) {
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
index d087c75d7fe..fbe0af60b29 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
@@ -90,7 +90,7 @@ public final class PluginHelper {
}
// check if plugin version can be loaded (cannot if we use an
older camel version than the plugin)
- if (!firstVersion.isBlank()) {
+ if (!version.isBlank() && !firstVersion.isBlank()) {
versionCheck(main, version, firstVersion, command);
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/generated/resources/META-INF/services/org/apache/camel/camel-jbang-plugin/camel-jbang-plugin-k
b/dsl/camel-jbang/camel-jbang-plugin-k/src/generated/resources/META-INF/services/org/apache/camel/camel-jbang-plugin/camel-jbang-plugin-k
index 5a3ee5c3e1b..810192416b6 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/generated/resources/META-INF/services/org/apache/camel/camel-jbang-plugin/camel-jbang-plugin-k
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/generated/resources/META-INF/services/org/apache/camel/camel-jbang-plugin/camel-jbang-plugin-k
@@ -1,2 +1,2 @@
# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.dsl.jbang.core.commands.k.KubePlugin
+class=org.apache.camel.dsl.jbang.core.commands.k.CamelKPlugin
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/Bind.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/Bind.java
index 3bfa1d9534a..82007dc2868 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/Bind.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/Bind.java
@@ -133,10 +133,10 @@ public class Bind extends KubernetesBaseCommand {
// --operator-id={id} is a syntax sugar for '--annotation
camel.apache.org/operator.id={id}'
if (annotations == null) {
- annotations = new String[] {
"%s=%s".formatted(KubeCommand.OPERATOR_ID_LABEL, operatorId) };
+ annotations = new String[] {
"%s=%s".formatted(CamelKCommand.OPERATOR_ID_LABEL, operatorId) };
} else {
annotations = Arrays.copyOf(annotations, annotations.length + 1);
- annotations[annotations.length - 1] =
"%s=%s".formatted(KubeCommand.OPERATOR_ID_LABEL, operatorId);
+ annotations[annotations.length - 1] =
"%s=%s".formatted(CamelKCommand.OPERATOR_ID_LABEL, operatorId);
}
String annotationsContext = "";
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/KubeCommand.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKCommand.java
similarity index 94%
rename from
dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/KubeCommand.java
rename to
dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKCommand.java
index f54e9e21ebe..840b9d23202 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/KubeCommand.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKCommand.java
@@ -22,7 +22,7 @@ import picocli.CommandLine;
@CommandLine.Command(name = "k",
description = "Manage Camel integrations on Kubernetes
(use k --help to see sub commands)")
-public class KubeCommand extends KubernetesBaseCommand {
+public class CamelKCommand extends KubernetesBaseCommand {
static final String OPERATOR_ID_LABEL = "camel.apache.org/operator.id";
static final String INTEGRATION_LABEL = "camel.apache.org/integration";
@@ -31,7 +31,7 @@ public class KubeCommand extends KubernetesBaseCommand {
public static final String INTEGRATION_PROFILE_ANNOTATION =
"camel.apache.org/integration-profile.id";
public static final String INTEGRATION_PROFILE_NAMESPACE_ANNOTATION =
"camel.apache.org/integration-profile.namespace";
- public KubeCommand(CamelJBangMain main) {
+ public CamelKCommand(CamelJBangMain main) {
super(main);
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/KubePlugin.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKPlugin.java
similarity index 94%
rename from
dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/KubePlugin.java
rename to
dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKPlugin.java
index be96054d481..39b5f2a22f0 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/KubePlugin.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKPlugin.java
@@ -22,11 +22,11 @@ import org.apache.camel.dsl.jbang.core.common.Plugin;
import picocli.CommandLine;
@CamelJBangPlugin(name = "camel-jbang-plugin-k", firstVersion = "4.4.0")
-public class KubePlugin implements Plugin {
+public class CamelKPlugin implements Plugin {
@Override
public void customize(CommandLine commandLine, CamelJBangMain main) {
- var cmd = new picocli.CommandLine(new KubeCommand(main))
+ var cmd = new picocli.CommandLine(new CamelKCommand(main))
.addSubcommand(Agent.ID, new picocli.CommandLine(new
Agent(main)))
.addSubcommand("get", new picocli.CommandLine(new
IntegrationGet(main)))
.addSubcommand("run", new picocli.CommandLine(new
IntegrationRun(main)))
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogs.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogs.java
index 4e50a802830..ed750868baa 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogs.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogs.java
@@ -43,8 +43,8 @@ public class IntegrationLogs extends PodLogs {
return 1;
}
- label = "%s=%s".formatted(KubeCommand.INTEGRATION_LABEL,
integrationName);
- container = KubeCommand.INTEGRATION_CONTAINER_NAME;
+ label = "%s=%s".formatted(CamelKCommand.INTEGRATION_LABEL,
integrationName);
+ container = CamelKCommand.INTEGRATION_CONTAINER_NAME;
return super.doCall();
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRun.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRun.java
index 004aa65c338..80a7b5d4f15 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRun.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRun.java
@@ -70,7 +70,7 @@ public class IntegrationRun extends KubernetesBaseCommand {
description = "An image built externally (for instance
via CI/CD). Enabling it will skip the integration build phase.")
String image;
- @CommandLine.Option(names = { "--kit", "-k" }, description = "The kit used
to run the integration.")
+ @CommandLine.Option(names = { "--kit" }, description = "The kit used to
run the integration.")
String kit;
@CommandLine.Option(names = { "--trait-profile" }, description = "The
trait profile to use for the deployment.")
@@ -86,15 +86,15 @@ public class IntegrationRun extends KubernetesBaseCommand {
description = "The path of the YAML file containing a
PodSpec template to be used for the integration pods.")
String podTemplate;
- @CommandLine.Option(names = { "--operator-id", "-x" }, defaultValue =
"camel-k",
+ @CommandLine.Option(names = { "--operator-id" }, defaultValue = "camel-k",
description = "Operator id selected to manage this
integration.")
String operatorId = "camel-k";
- @CommandLine.Option(names = { "--dependency", "-d" },
+ @CommandLine.Option(names = { "--dependency" },
description = "Adds dependency that should be
included, use \"camel:\" prefix for a Camel component, \"mvn:org.my:app:1.0\"
for a Maven dependency.")
String[] dependencies;
- @CommandLine.Option(names = { "--property", "-p" },
+ @CommandLine.Option(names = { "--property" },
description = "Add a runtime property or properties
file from a path, a config map or a secret (syntax:
[my-key=my-value|file:/path/to/my-conf.properties|[configmap|secret]:name]).")
String[] properties;
@@ -113,15 +113,15 @@ public class IntegrationRun extends KubernetesBaseCommand
{
@CommandLine.Option(names = { "--open-api" }, description = "Add an
OpenAPI spec (syntax: [configmap|file]:name).")
String[] openApis;
- @CommandLine.Option(names = { "--env", "-e" },
+ @CommandLine.Option(names = { "--env" },
description = "Set an environment variable in the
integration container, for instance \"-e MY_VAR=my-value\".")
String[] envVars;
- @CommandLine.Option(names = { "--volume", "-v" },
+ @CommandLine.Option(names = { "--volume" },
description = "Mount a volume into the integration
container, for instance \"-v pvcname:/container/path\".")
String[] volumes;
- @CommandLine.Option(names = { "--connect", "-c" },
+ @CommandLine.Option(names = { "--connect" },
description = "A Service that the integration should
bind to, specified as [[apigroup/]version:]kind:[namespace/]name.")
String[] connects;
@@ -140,7 +140,7 @@ public class IntegrationRun extends KubernetesBaseCommand {
description = "Add a label to the integration. Use
name values pairs like \"--label my.company=hello\".")
String[] labels;
- @CommandLine.Option(names = { "--traits", "-t" },
+ @CommandLine.Option(names = { "--trait" },
description = "Add a trait configuration to the
integration. Use name values pairs like \"--trait trait.name.config=hello\".")
String[] traits;
@@ -152,13 +152,13 @@ public class IntegrationRun extends KubernetesBaseCommand
{
description = "Enable storage of sources and resources
as a compressed binary blobs.")
boolean compression;
- @CommandLine.Option(names = { "--wait", "-w" }, description = "Wait for
the integration to become ready.")
+ @CommandLine.Option(names = { "--wait" }, description = "Wait for the
integration to become ready.")
boolean wait;
- @CommandLine.Option(names = { "--logs", "-l" }, description = "Print logs
after integration has been started.")
+ @CommandLine.Option(names = { "--logs" }, description = "Print logs after
integration has been started.")
boolean logs;
- @CommandLine.Option(names = { "--output", "-o" },
+ @CommandLine.Option(names = { "--output" },
description = "Just output the generated integration
custom resource (supports: yaml or json).")
String output;
@@ -221,17 +221,18 @@ public class IntegrationRun extends KubernetesBaseCommand
{
}
// --operator-id={id} is a syntax sugar for '--annotation
camel.apache.org/operator.id={id}'
-
integration.getMetadata().getAnnotations().put(KubeCommand.OPERATOR_ID_LABEL,
operatorId);
+
integration.getMetadata().getAnnotations().put(CamelKCommand.OPERATOR_ID_LABEL,
operatorId);
// --integration-profile={id} is a syntax sugar for '--annotation
camel.apache.org/integration-profile.id={id}'
if (integrationProfile != null) {
if (integrationProfile.contains("/")) {
String[] namespacedName = integrationProfile.split("/", 2);
-
integration.getMetadata().getAnnotations().put(KubeCommand.INTEGRATION_PROFILE_NAMESPACE_ANNOTATION,
+
integration.getMetadata().getAnnotations().put(CamelKCommand.INTEGRATION_PROFILE_NAMESPACE_ANNOTATION,
namespacedName[0]);
-
integration.getMetadata().getAnnotations().put(KubeCommand.INTEGRATION_PROFILE_ANNOTATION,
namespacedName[1]);
+
integration.getMetadata().getAnnotations().put(CamelKCommand.INTEGRATION_PROFILE_ANNOTATION,
namespacedName[1]);
} else {
-
integration.getMetadata().getAnnotations().put(KubeCommand.INTEGRATION_PROFILE_ANNOTATION,
integrationProfile);
+
integration.getMetadata().getAnnotations().put(CamelKCommand.INTEGRATION_PROFILE_ANNOTATION,
+ integrationProfile);
}
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/BindTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/BindTest.java
index 0701e7a5d10..1a9405cd574 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/BindTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/BindTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.v1.Pipe;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-class BindTest extends KubeBaseTest {
+class BindTest extends CamelKBaseTest {
@Test
public void shouldCreatePipe() throws Exception {
@@ -34,7 +34,7 @@ class BindTest extends KubeBaseTest {
Assertions.assertEquals("Pipe timer-to-http created",
printer.getOutput());
Pipe created =
kubernetesClient.resources(Pipe.class).withName("timer-to-http").get();
- Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(KubeCommand.OPERATOR_ID_LABEL));
+ Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(CamelKCommand.OPERATOR_ID_LABEL));
}
@Test
@@ -53,7 +53,7 @@ class BindTest extends KubeBaseTest {
Assertions.assertEquals("Pipe timer-to-log updated",
printer.getOutput());
Pipe created =
kubernetesClient.resources(Pipe.class).withName("timer-to-log").get();
- Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(KubeCommand.OPERATOR_ID_LABEL));
+ Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(CamelKCommand.OPERATOR_ID_LABEL));
}
@Test
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/KubeBaseTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
similarity index 94%
rename from
dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/KubeBaseTest.java
rename to
dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
index c7382062658..06f4df9cd5b 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/KubeBaseTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKBaseTest.java
@@ -41,7 +41,7 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.TestInstance;
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
-public class KubeBaseTest {
+public class CamelKBaseTest {
protected static Integration integration;
protected static Pipe pipe;
@@ -82,7 +82,7 @@ public class KubeBaseTest {
protected Integration createIntegration(String name) throws IOException {
if (integration == null) {
integration = KubernetesHelper.yaml().loadAs(
-
IOHelper.loadText(KubeBaseTest.class.getResourceAsStream("integration.yaml")),
Integration.class);
+
IOHelper.loadText(CamelKBaseTest.class.getResourceAsStream("integration.yaml")),
Integration.class);
}
Integration created = new Integration();
@@ -101,7 +101,7 @@ public class KubeBaseTest {
protected Pipe createPipe(String name) throws IOException {
if (pipe == null) {
pipe = KubernetesHelper.yaml().loadAs(
-
IOHelper.loadText(KubeBaseTest.class.getResourceAsStream("pipe.yaml")),
Pipe.class);
+
IOHelper.loadText(CamelKBaseTest.class.getResourceAsStream("pipe.yaml")),
Pipe.class);
}
Pipe created = new Pipe();
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/KubeCommandMainTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKCommandTest.java
similarity index 90%
rename from
dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/KubeCommandMainTest.java
rename to
dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKCommandTest.java
index 0d48067f0f1..7ae64310a25 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/KubeCommandMainTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/CamelKCommandTest.java
@@ -33,7 +33,7 @@ import org.apache.camel.v1.Integration;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-class KubeCommandMainTest extends KubeBaseTest {
+class CamelKCommandTest extends CamelKBaseTest {
@Test
public void shouldDeleteIntegration() throws IOException {
@@ -65,11 +65,11 @@ class KubeCommandMainTest extends KubeBaseTest {
Pod pod = new PodBuilder()
.withNewMetadata()
.withName(integration.getMetadata().getName())
-
.withLabels(Collections.singletonMap(KubeCommand.INTEGRATION_LABEL,
integration.getMetadata().getName()))
+
.withLabels(Collections.singletonMap(CamelKCommand.INTEGRATION_LABEL,
integration.getMetadata().getName()))
.endMetadata()
.withNewSpec()
.addToContainers(new ContainerBuilder()
- .withName(KubeCommand.INTEGRATION_CONTAINER_NAME)
+ .withName(CamelKCommand.INTEGRATION_CONTAINER_NAME)
.build())
.endSpec()
.withNewStatus()
@@ -89,12 +89,12 @@ class KubeCommandMainTest extends KubeBaseTest {
Integration integration =
kubernetesClient.resources(Integration.class).withName("route").get();
Assertions.assertNotNull(integration);
- Assertions.assertEquals("camel-k",
integration.getMetadata().getAnnotations().get(KubeCommand.OPERATOR_ID_LABEL));
+ Assertions.assertEquals("camel-k",
integration.getMetadata().getAnnotations().get(CamelKCommand.OPERATOR_ID_LABEL));
}
@Test
public void shouldPrintIntegration() {
- CamelJBangMain.run(createMain(), "k", "run", "classpath:route.yaml",
"-o", "yaml");
+ CamelJBangMain.run(createMain(), "k", "run", "classpath:route.yaml",
"--output", "yaml");
Assertions.assertEquals("""
apiVersion: camel.apache.org/v1
@@ -125,9 +125,8 @@ class KubeCommandMainTest extends KubeBaseTest {
return new CamelJBangMain() {
@Override
public void quit(int exitCode) {
- if (exitCode != 0) {
- Assertions.fail("Main finished with exit code
%d".formatted(exitCode));
- }
+ Assertions.assertEquals(0, exitCode,
+ "Main finished with exit code
%d:%n%s".formatted(exitCode, printer.getOutput()));
}
}.withPrinter(printer);
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationDeleteTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationDeleteTest.java
index 2d4d8a8c1fa..4b0e38dfb54 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationDeleteTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationDeleteTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.v1.Integration;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-class IntegrationDeleteTest extends KubeBaseTest {
+class IntegrationDeleteTest extends CamelKBaseTest {
@Test
public void shouldVerifyArguments() throws Exception {
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationGetTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationGetTest.java
index 5bdcbe72192..6e0e6519aed 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationGetTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationGetTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.v1.integrationstatus.IntegrationKit;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-class IntegrationGetTest extends KubeBaseTest {
+class IntegrationGetTest extends CamelKBaseTest {
@Test
public void shouldListIntegrationsEmpty() throws Exception {
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogsTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogsTest.java
index 6474e2e3912..45ad315e6c3 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogsTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationLogsTest.java
@@ -26,7 +26,7 @@ import org.apache.camel.v1.Integration;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-class IntegrationLogsTest extends KubeBaseTest {
+class IntegrationLogsTest extends CamelKBaseTest {
@Test
public void shouldHandleIntegrationsNotFound() throws Exception {
@@ -45,7 +45,7 @@ class IntegrationLogsTest extends KubeBaseTest {
Pod pod = new PodBuilder()
.withNewMetadata()
.withName(integration.getMetadata().getName())
-
.withLabels(Collections.singletonMap(KubeCommand.INTEGRATION_LABEL,
integration.getMetadata().getName()))
+
.withLabels(Collections.singletonMap(CamelKCommand.INTEGRATION_LABEL,
integration.getMetadata().getName()))
.endMetadata()
.withNewStatus()
.withPhase("Running")
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
index df2b8bfc1e9..1354ef8e03d 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationRunTest.java
@@ -25,7 +25,7 @@ import org.apache.camel.v1.Integration;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-class IntegrationRunTest extends KubeBaseTest {
+class IntegrationRunTest extends CamelKBaseTest {
@Test
public void shouldHandleMissingSourceFile() throws Exception {
@@ -43,7 +43,7 @@ class IntegrationRunTest extends KubeBaseTest {
Assertions.assertEquals("Integration route created",
printer.getOutput());
Integration created =
kubernetesClient.resources(Integration.class).withName("route").get();
- Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(KubeCommand.OPERATOR_ID_LABEL));
+ Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(CamelKCommand.OPERATOR_ID_LABEL));
}
@Test
@@ -58,7 +58,7 @@ class IntegrationRunTest extends KubeBaseTest {
Assertions.assertEquals("Integration route updated",
printer.getOutput());
Integration created =
kubernetesClient.resources(Integration.class).withName("route").get();
- Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(KubeCommand.OPERATOR_ID_LABEL));
+ Assertions.assertEquals("camel-k",
created.getMetadata().getAnnotations().get(CamelKCommand.OPERATOR_ID_LABEL));
}
@Test
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
index 3c853fb96a1..985450ca5f2 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesBaseTest.java
@@ -17,6 +17,9 @@
package org.apache.camel.dsl.jbang.core.commands.kubernetes;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import io.fabric8.kubernetes.client.KubernetesClient;
@@ -28,6 +31,7 @@ import
org.apache.camel.dsl.jbang.core.common.CommandLineHelper;
import org.apache.camel.dsl.jbang.core.common.PluginHelper;
import org.apache.camel.dsl.jbang.core.common.PluginType;
import org.apache.camel.dsl.jbang.core.common.StringPrinter;
+import org.apache.camel.util.StringHelper;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@@ -65,4 +69,8 @@ public class KubernetesBaseTest {
k8sServer.destroy();
}
+ protected InputStream getKubernetesManifestAsStream(String printerOutput) {
+ return new ByteArrayInputStream(StringHelper.after(printerOutput,
"---").getBytes(StandardCharsets.UTF_8));
+ }
+
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
new file mode 100644
index 00000000000..5a9e6272566
--- /dev/null
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.dsl.jbang.core.commands.kubernetes;
+
+import org.apache.camel.impl.engine.DefaultClassResolver;
+import org.apache.camel.impl.engine.DefaultFactoryFinder;
+import org.apache.camel.spi.FactoryFinder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+class KubernetesCommandTest extends KubernetesBaseTest {
+
+ @Test
+ public void shouldResolvePlugin() {
+ FactoryFinder factoryFinder
+ = new DefaultFactoryFinder(new DefaultClassResolver(),
FactoryFinder.DEFAULT_PATH + "camel-jbang-plugin/");
+
Assertions.assertTrue(factoryFinder.newInstance("camel-jbang-plugin-kubernetes").isPresent());
+ }
+
+}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
index fa04a8d9e98..7c11a205ffd 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
@@ -17,9 +17,6 @@
package org.apache.camel.dsl.jbang.core.commands.kubernetes;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
import java.util.List;
import io.fabric8.kubernetes.api.model.HasMetadata;
@@ -28,7 +25,6 @@ import org.apache.camel.RuntimeCamelException;
import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
import org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.BaseTrait;
import org.apache.camel.dsl.jbang.core.common.StringPrinter;
-import org.apache.camel.util.StringHelper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -101,7 +97,4 @@ class KubernetesRunTest extends KubernetesBaseTest {
return command;
}
- private InputStream getKubernetesManifestAsStream(String printerOutput) {
- return new ByteArrayInputStream(StringHelper.after(printerOutput,
"---").getBytes(StandardCharsets.UTF_8));
- }
}