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

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


The following commit(s) were added to refs/heads/main by this push:
     new a7638825735 Fix Camel-Spring-Boot Daily #384 test failures
a7638825735 is described below

commit a7638825735ba018b50a53acf58c80fe9d40df12
Author: croway <[email protected]>
AuthorDate: Tue Oct 6 10:32:01 2026 +0200

    Fix Camel-Spring-Boot Daily #384 test failures
    
    - Align CassandraAggregationRepositoryIT and
      NamedCassandraAggregationRepositoryIT with CAMEL-25210: completed
      exchanges are now kept under camel-recovery:<exchange id> until
      confirmed, so scan/recover/confirm assertions follow the new semantics.
    - Add CamelOdataIT for the new camel-odata-starter so CamelCatalogIT
      coverage check passes.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
---
 .../CassandraAggregationRepositoryIT.java          | 27 +++++++++++++++++----
 .../NamedCassandraAggregationRepositoryIT.java     | 27 +++++++++++++++++----
 .../camel/itest/springboot/CamelOdataIT.java       | 28 ++++++++++++++++++++++
 3 files changed, 74 insertions(+), 8 deletions(-)

diff --git 
a/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
 
b/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
index b2341119a79..079b8083c71 100644
--- 
a/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
+++ 
b/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
@@ -153,11 +153,16 @@ public class CassandraAggregationRepositoryIT extends 
BaseCassandra {
             aggregationRepository.add(context, key, exchange);
             assertTrue(exists(key));
         }
+        Exchange completed = new DefaultExchange(context);
+        completed.setExchangeId("Exchange_2");
+        aggregationRepository.remove(context, "Confirm_2", completed);
+        assertFalse(exists("Confirm_2"));
+        assertTrue(exists("camel-recovery:Exchange_2"));
         // When
         aggregationRepository.confirm(context, "Exchange_2");
         // Then
+        assertFalse(exists("camel-recovery:Exchange_2"));
         assertTrue(exists("Confirm_1"));
-        assertFalse(exists("Confirm_2"));
         assertTrue(exists("Confirm_3"));
     }
 
@@ -180,6 +185,12 @@ public class CassandraAggregationRepositoryIT extends 
BaseCassandra {
         }
     }
 
+    private void removeExchange(String key) {
+        Exchange exchange = new DefaultExchange(context);
+        exchange.setExchangeId("Exchange-" + key);
+        aggregationRepository.remove(context, key, exchange);
+    }
+
     private void addExchanges(String... keys) {
         for (String key : keys) {
             Exchange exchange = new DefaultExchange(context);
@@ -193,12 +204,16 @@ public class CassandraAggregationRepositoryIT extends 
BaseCassandra {
         // Given
         String[] keys = { "Scan1", "Scan2" };
         addExchanges(keys);
+        // aggregations in progress are not to be recovered
+        
assertFalse(aggregationRepository.scan(context).contains("Exchange-Scan1"));
+        
assertFalse(aggregationRepository.scan(context).contains("Exchange-Scan2"));
         // When
+        removeExchange("Scan2");
         Set<String> exchangeIdSet = aggregationRepository.scan(context);
         // Then
-        for (String key : keys) {
-            assertTrue(exchangeIdSet.contains("Exchange-" + key));
-        }
+        assertTrue(exchangeIdSet.contains("Exchange-Scan2"));
+        assertFalse(exchangeIdSet.contains("Exchange-Scan1"));
+        
assertFalse(aggregationRepository.getKeys().contains("camel-recovery:Exchange-Scan2"));
     }
 
     @Test
@@ -206,11 +221,15 @@ public class CassandraAggregationRepositoryIT extends 
BaseCassandra {
         // Given
         String[] keys = { "Recover1", "Recover2" };
         addExchanges(keys);
+        removeExchange("Recover2");
         // When
+        Exchange exchange1 = aggregationRepository.recover(context, 
"Exchange-Recover1");
         Exchange exchange2 = aggregationRepository.recover(context, 
"Exchange-Recover2");
         Exchange exchange3 = aggregationRepository.recover(context, 
"Exchange-Recover3");
         // Then
+        assertNull(exchange1);
         assertNotNull(exchange2);
+        assertEquals("Exchange-Recover2", exchange2.getExchangeId());
         assertNull(exchange3);
     }
 
diff --git 
a/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
 
b/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
index c31bfbdd812..e4f06424cb5 100644
--- 
a/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
+++ 
b/components-starter/camel-cassandraql-starter/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
@@ -156,11 +156,16 @@ public class NamedCassandraAggregationRepositoryIT 
extends BaseCassandra {
             aggregationRepository.add(context, key, exchange);
             assertTrue(exists(key));
         }
+        Exchange completed = new DefaultExchange(context);
+        completed.setExchangeId("Exchange_2");
+        aggregationRepository.remove(context, "Confirm_2", completed);
+        assertFalse(exists("Confirm_2"));
+        assertTrue(exists("camel-recovery:Exchange_2"));
         // When
         aggregationRepository.confirm(context, "Exchange_2");
         // Then
+        assertFalse(exists("camel-recovery:Exchange_2"));
         assertTrue(exists("Confirm_1"));
-        assertFalse(exists("Confirm_2"));
         assertTrue(exists("Confirm_3"));
     }
 
@@ -183,6 +188,12 @@ public class NamedCassandraAggregationRepositoryIT extends 
BaseCassandra {
         }
     }
 
+    private void removeExchange(String key) {
+        Exchange exchange = new DefaultExchange(context);
+        exchange.setExchangeId("Exchange-" + key);
+        aggregationRepository.remove(context, key, exchange);
+    }
+
     private void addExchanges(String... keys) {
         for (String key : keys) {
             Exchange exchange = new DefaultExchange(context);
@@ -196,12 +207,16 @@ public class NamedCassandraAggregationRepositoryIT 
extends BaseCassandra {
         // Given
         String[] keys = { "Scan1", "Scan2" };
         addExchanges(keys);
+        // aggregations in progress are not to be recovered
+        
assertFalse(aggregationRepository.scan(context).contains("Exchange-Scan1"));
+        
assertFalse(aggregationRepository.scan(context).contains("Exchange-Scan2"));
         // When
+        removeExchange("Scan2");
         Set<String> exchangeIdSet = aggregationRepository.scan(context);
         // Then
-        for (String key : keys) {
-            assertTrue(exchangeIdSet.contains("Exchange-" + key));
-        }
+        assertTrue(exchangeIdSet.contains("Exchange-Scan2"));
+        assertFalse(exchangeIdSet.contains("Exchange-Scan1"));
+        
assertFalse(aggregationRepository.getKeys().contains("camel-recovery:Exchange-Scan2"));
     }
 
     @Test
@@ -209,11 +224,15 @@ public class NamedCassandraAggregationRepositoryIT 
extends BaseCassandra {
         // Given
         String[] keys = { "Recover1", "Recover2" };
         addExchanges(keys);
+        removeExchange("Recover2");
         // When
+        Exchange exchange1 = aggregationRepository.recover(context, 
"Exchange-Recover1");
         Exchange exchange2 = aggregationRepository.recover(context, 
"Exchange-Recover2");
         Exchange exchange3 = aggregationRepository.recover(context, 
"Exchange-Recover3");
         // Then
+        assertNull(exchange1);
         assertNotNull(exchange2);
+        assertEquals("Exchange-Recover2", exchange2.getExchangeId());
         assertNull(exchange3);
     }
 
diff --git 
a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOdataIT.java
 
b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOdataIT.java
new file mode 100644
index 00000000000..8b313d4534d
--- /dev/null
+++ 
b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOdataIT.java
@@ -0,0 +1,28 @@
+/*
+ * 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.itest.springboot;
+
+import 
org.apache.camel.itest.springboot.common.AbstractSpringBootBaseTestSupport;
+import org.junit.jupiter.api.Test;
+
+public class CamelOdataIT extends AbstractSpringBootBaseTestSupport {
+
+    @Test
+    void componentTest() {
+        assertComponent(inferComponentName(getClass()));
+    }
+}

Reply via email to