diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/cli/Picocli.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/cli/Picocli.java index e915195117..6e08b5ed09 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/cli/Picocli.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/cli/Picocli.java @@ -135,6 +135,9 @@ public final class Picocli { } public static boolean requiresReAugmentation(CommandLine cmdCommand) { + if (cmdCommand == null) { + return false; // possible if using --version or the user made a mistake + } if (hasConfigChanges(cmdCommand)) { if (!ConfigArgsConfigSource.getAllCliArgs().contains(StartDev.NAME) && "dev".equals(getConfig().getOptionalValue("kc.profile", String.class).orElse(null))) { return false; diff --git a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/VersionDistTest.java b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/VersionDistTest.java new file mode 100644 index 0000000000..ac82e20318 --- /dev/null +++ b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/VersionDistTest.java @@ -0,0 +1,38 @@ +/* + * Copyright 2021 Red Hat, Inc. and/or its affiliates + * and other contributors as indicated by the @author tags. + * + * Licensed 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.keycloak.it.cli.dist; + +import io.quarkus.test.junit.main.Launch; +import io.quarkus.test.junit.main.LaunchResult; + +import org.junit.jupiter.api.Test; +import org.keycloak.it.junit5.extension.DistributionTest; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +@DistributionTest +public class VersionDistTest { + + @Test + @Launch({ "--version" }) + void failNoTls(LaunchResult result) { + assertTrue(result.getOutput().contains("Keycloak ") && result.getOutput().contains("JVM: "), + () -> "The Output:\n" + result.getOutput() + "doesn't contains the expected string."); + } + +}