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()));
+ }
+}