This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new de41e5a93a [fixes #7547] Register SimpleSearchTerm for reflection, as 
Camel configurer doesn't exist for that class
de41e5a93a is described below

commit de41e5a93a3967c53e5e11254fd25b41adb44f7e
Author: Lukas Lowinger <[email protected]>
AuthorDate: Sat Jul 26 10:18:54 2025 +0200

    [fixes #7547] Register SimpleSearchTerm for reflection, as Camel configurer 
doesn't exist for that class
---
 extensions/mail-microsoft-oauth/deployment/pom.xml  |  2 +-
 extensions/mail-microsoft-oauth/runtime/pom.xml     |  2 +-
 .../component/mail/deployment/MailProcessor.java    |  8 ++++++++
 .../microsoft/oauth/it/MailMicrosoftOauthRoute.java |  4 ++--
 .../microsoft/oauth/it/MailMicrosoftOauthTest.java  |  6 +++++-
 .../oauth/it/MailMicrosoftOauthTestResource.java    | 21 +++++++++++++--------
 6 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/extensions/mail-microsoft-oauth/deployment/pom.xml 
b/extensions/mail-microsoft-oauth/deployment/pom.xml
index d801626843..2cf9b2cb9b 100644
--- a/extensions/mail-microsoft-oauth/deployment/pom.xml
+++ b/extensions/mail-microsoft-oauth/deployment/pom.xml
@@ -40,7 +40,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-mail-deployment</artifactId>
+            <artifactId>camel-quarkus-mail-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/mail-microsoft-oauth/runtime/pom.xml 
b/extensions/mail-microsoft-oauth/runtime/pom.xml
index e33e8db035..794e8a64b4 100644
--- a/extensions/mail-microsoft-oauth/runtime/pom.xml
+++ b/extensions/mail-microsoft-oauth/runtime/pom.xml
@@ -46,7 +46,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-mail</artifactId>
+            <artifactId>camel-quarkus-mail</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git 
a/extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
 
b/extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
index 071c2ecbf1..384f3b4404 100644
--- 
a/extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
+++ 
b/extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
@@ -16,8 +16,11 @@
  */
 package org.apache.camel.quarkus.component.mail.deployment;
 
+import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.apache.camel.component.mail.SimpleSearchTerm;
 
 class MailProcessor {
 
@@ -27,4 +30,9 @@ class MailProcessor {
     FeatureBuildItem feature() {
         return new FeatureBuildItem(FEATURE);
     }
+
+    @BuildStep
+    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> 
reflectiveClass) {
+        
reflectiveClass.produce(ReflectiveClassBuildItem.builder(SimpleSearchTerm.class).methods().build());
+    }
 }
diff --git 
a/integration-tests/mail-microsoft-oauth/src/main/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthRoute.java
 
b/integration-tests/mail-microsoft-oauth/src/main/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthRoute.java
index a2e7f35104..4c257f3dca 100644
--- 
a/integration-tests/mail-microsoft-oauth/src/main/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthRoute.java
+++ 
b/integration-tests/mail-microsoft-oauth/src/main/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthRoute.java
@@ -25,7 +25,7 @@ import org.eclipse.microprofile.config.ConfigProvider;
 @ApplicationScoped
 public class MailMicrosoftOauthRoute extends RouteBuilder {
 
-    public static final String TEST_SUBJECT = "CamelQuarkus" + 
System.currentTimeMillis();
+    private final String TEST_SUBJECT = 
ConfigProvider.getConfig().getValue("test.mail.subject", String.class);
     @Inject
     CamelContext camelContext;
 
@@ -33,7 +33,7 @@ public class MailMicrosoftOauthRoute extends RouteBuilder {
     public void configure() {
 
         if (isRealAccountConfigured()) {
-            fromF("imaps://outlook.office365.com:993"
+            from("imaps://outlook.office365.com:993"
                     + "?authenticator=#auth"
                     + "&mail.imaps.auth.mechanisms=XOAUTH2"
                     + "&debugMode=true"
diff --git 
a/integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTest.java
 
b/integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTest.java
index bb0d2a7e8e..fc2b4cb482 100644
--- 
a/integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTest.java
+++ 
b/integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTest.java
@@ -21,11 +21,13 @@ import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
+import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import jakarta.json.bind.JsonbBuilder;
 import org.apache.camel.ServiceStatus;
 import org.awaitility.Awaitility;
+import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
 
@@ -33,6 +35,7 @@ import 
org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
 @EnabledIfEnvironmentVariable(named = "CQ_MAIL_MICROSOFT_OAUTH_CLIENT_ID", 
matches = ".+")
 @EnabledIfEnvironmentVariable(named = "CQ_MAIL_MICROSOFT_OAUTH_CLIENT_SECRET", 
matches = ".+")
 @EnabledIfEnvironmentVariable(named = "CQ_MAIL_MICROSOFT_OAUTH_TENANT_ID", 
matches = ".+")
+@QuarkusTestResource(MailMicrosoftOauthTestResource.class)
 @QuarkusTest
 class MailMicrosoftOauthTest {
 
@@ -41,9 +44,10 @@ class MailMicrosoftOauthTest {
     public void sendAndReceive() {
 
         final String content = "Test email!" + UUID.randomUUID();
+        final String subject = 
ConfigProvider.getConfig().getValue("test.mail.subject", String.class);
 
         //send an email
-        
MailMicrosoftOauthUtil.sendMessage(MailMicrosoftOauthRoute.TEST_SUBJECT, 
content);
+        MailMicrosoftOauthUtil.sendMessage(subject, content);
 
         //start route
         startRoute("receiverRoute");
diff --git 
a/extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
 
b/integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTestResource.java
similarity index 54%
copy from 
extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
copy to 
integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTestResource.java
index 071c2ecbf1..ad72489c9a 100644
--- 
a/extensions/mail/deployment/src/main/java/org/apache/camel/quarkus/component/mail/deployment/MailProcessor.java
+++ 
b/integration-tests/mail-microsoft-oauth/src/test/java/org/apache/camel/quarkus/component/mail/microsoft/oauth/it/MailMicrosoftOauthTestResource.java
@@ -14,17 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.mail.deployment;
+package org.apache.camel.quarkus.component.mail.microsoft.oauth.it;
 
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
+import java.util.Map;
 
-class MailProcessor {
+import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
 
-    private static final String FEATURE = "camel-mail";
+public class MailMicrosoftOauthTestResource implements 
QuarkusTestResourceLifecycleManager {
 
-    @BuildStep
-    FeatureBuildItem feature() {
-        return new FeatureBuildItem(FEATURE);
+    @Override
+    public Map<String, String> start() {
+        // we must provide test subject as property, because having only 
static field means that in Native tests, we would use different unique value 
(as app runs natively and tests in JVM, thus double invocation)
+        return Map.of("test.mail.subject", "CamelQuarkus" + 
System.currentTimeMillis());
+    }
+
+    @Override
+    public void stop() {
+        // Noop
     }
 }

Reply via email to