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

gnodet 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 83b16ef5ffe6 CAMEL-23205: Fix OpenAI embedding ITs to check exchange 
exceptions and skip when no model
83b16ef5ffe6 is described below

commit 83b16ef5ffe69998464635ebaffb3e045895902c
Author: Guillaume Nodet <[email protected]>
AuthorDate: Thu Mar 19 13:13:58 2026 +0100

    CAMEL-23205: Fix OpenAI embedding ITs to check exchange exceptions and skip 
when no model
    
    - Add assertion for exchange exceptions after template.request() calls
      to surface real errors instead of misleading ClassCastExceptions
    - Throw IllegalStateException in setupResources() when embedding model
      is not available, so tests fail fast with a clear message
---
 .../component/openai/integration/OpenAIEmbeddingsIT.java      | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git 
a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
 
b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
index 45cf8ec8a28b..f67e04874639 100644
--- 
a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
+++ 
b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIEmbeddingsIT.java
@@ -55,6 +55,10 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
         if (apiKey == null || apiKey.isEmpty()) {
             apiKey = "dummy";
         }
+        if (ObjectHelper.isEmpty(embeddingModel)) {
+            throw new IllegalStateException(
+                    "Embedding model not available. Set the 
ollama.embedding.model system property or use a container with embedding 
support.");
+        }
     }
 
     @Override
@@ -101,6 +105,7 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
         Exchange result = template.request("direct:embedding",
                 e -> e.getIn().setBody("Apache Camel is an integration 
framework"));
 
+        assertThat(result.getException()).as("Exchange should not have an 
exception").isNull();
         mockResponse.assertIsSatisfied();
 
         assertThat(result).isNotNull();
@@ -128,6 +133,7 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
         Exchange result = 
template.request("direct:embeddingWithEncodingFormatFloat",
                 e -> e.getIn().setBody("Apache Camel is an integration 
framework"));
 
+        assertThat(result.getException()).as("Exchange should not have an 
exception").isNull();
         mockResponse.assertIsSatisfied();
 
         assertThat(result).isNotNull();
@@ -157,6 +163,7 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
         Exchange result = template.request("direct:embedding",
                 e -> e.getIn().setBody(inputs));
 
+        assertThat(result.getException()).as("Exchange should not have an 
exception").isNull();
         mockResponse.assertIsSatisfied();
 
         assertThat(result).isNotNull();
@@ -182,6 +189,8 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
         Exchange result1 = template.request("direct:embedding",
                 e -> e.getIn().setBody("Apache Camel is an integration 
framework"));
 
+        assertThat(result1.getException()).as("Exchange should not have an 
exception").isNull();
+
         @SuppressWarnings("unchecked")
         List<Float> embedding1 = (List<Float>) result1.getMessage().getBody();
         assertThat(embedding1).isNotEmpty();
@@ -192,6 +201,8 @@ public class OpenAIEmbeddingsIT extends CamelTestSupport {
             e.getIn().setHeader(OpenAIConstants.REFERENCE_EMBEDDING, 
embedding1);
         });
 
+        assertThat(result2.getException()).as("Exchange should not have an 
exception").isNull();
+
         @SuppressWarnings("unchecked")
         List<Float> embedding2 = (List<Float>) result2.getMessage().getBody();
         assertThat(embedding2).isNotEmpty();

Reply via email to