diff --git a/extensions/debug/deployment/src/main/java/org/apache/camel/quarkus/component/debug/deployment/DebugProcessor.java b/extensions/debug/deployment/src/main/java/org/apache/camel/quarkus/component/debug/deployment/DebugProcessor.java index f0cf41b54861..d2d0a56c22fd 100644 --- a/extensions/debug/deployment/src/main/java/org/apache/camel/quarkus/component/debug/deployment/DebugProcessor.java +++ b/extensions/debug/deployment/src/main/java/org/apache/camel/quarkus/component/debug/deployment/DebugProcessor.java @@ -66,7 +66,7 @@ static class DebugEnabled implements BooleanSupplier { @Override public boolean getAsBoolean() { return (launchMode.equals(LaunchMode.DEVELOPMENT)) || (config.enabled - || ConfigProvider.getConfig().getOptionalValue("camel.main.debugging", boolean.class).orElse(false)); + || ConfigProvider.getConfig().getOptionalValue("camel.debug.enabled", boolean.class).orElse(false)); } } } diff --git a/extensions/debug/deployment/src/test/java/org/apache/camel/quarkus/component/debug/deployment/DebugEnabledFromCamelMainTest.java b/extensions/debug/deployment/src/test/java/org/apache/camel/quarkus/component/debug/deployment/DebugEnabledFromCamelMainTest.java new file mode 100644 index 000000000000..a1fe6a039ed6 --- /dev/null +++ b/extensions/debug/deployment/src/test/java/org/apache/camel/quarkus/component/debug/deployment/DebugEnabledFromCamelMainTest.java @@ -0,0 +1,71 @@ +/* + * 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.quarkus.component.debug.deployment; + +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; +import java.util.Properties; + +import io.quarkus.test.QuarkusUnitTest; +import io.restassured.RestAssured; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.Asset; +import org.jboss.shrinkwrap.api.asset.StringAsset; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import static org.hamcrest.Matchers.is; + +public class DebugEnabledFromCamelMainTest { + + @RegisterExtension + static final QuarkusUnitTest CONFIG = new QuarkusUnitTest() + .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class) + .addClass(DebugResource.class) + .addAsResource(applicationProperties(), "application.properties")); + + @Test + public void camelDebuggingEnabled() throws IOException { + RestAssured.get("/debug/enabled") + .then() + .body(is("true")) + .statusCode(200); + + // TODO: This needs Camel 4.7 where camel-main has the capability to configure the JMX Connector + // https://github.com/apache/camel-quarkus/issues/6083 + //try (Socket socket = new Socket("localhost", 1099)) { + // Assertions.assertTrue(socket.isConnected()); + //} + } + + public static final Asset applicationProperties() { + Writer writer = new StringWriter(); + + Properties props = new Properties(); + props.setProperty("camel.debug.enabled", "true"); + + try { + props.store(writer, ""); + } catch (IOException e) { + throw new RuntimeException(e); + } + + return new StringAsset(writer.toString()); + } +}