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

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

commit 8820ce73b887d75312f54368dabce3b8937fd1cf
Author: JiriOndrusek <ondrusek.j...@gmail.com>
AuthorDate: Mon Jun 17 14:41:45 2024 +0200

    Fixed couchdb issue + generated files
---
 .../component/couchdb/it/CouchdbResource.java        |  6 +++---
 .../component/couchdb/it/CouchdbTestDocument.java    | 17 +++++++++++++----
 .../camel/quarkus/component/couchdb/it/CouchbIT.java |  2 +-
 .../quarkus/component/couchdb/it/CouchdbTest.java    | 20 +++++++++++---------
 pom.xml                                              |  2 +-
 poms/bom/src/main/generated/flattened-full-pom.xml   |  2 +-
 .../bom/src/main/generated/flattened-reduced-pom.xml |  2 +-
 .../main/generated/flattened-reduced-verbose-pom.xml |  2 +-
 8 files changed, 32 insertions(+), 21 deletions(-)

diff --git 
a/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbResource.java
 
b/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbResource.java
index fcb7aa4725..03b2f09756 100644
--- 
a/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbResource.java
+++ 
b/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbResource.java
@@ -19,6 +19,7 @@ package org.apache.camel.quarkus.component.couchdb.it;
 import java.util.Collection;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
+import com.ibm.cloud.sdk.core.service.exception.NotFoundException;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.inject.Inject;
 import jakarta.ws.rs.Consumes;
@@ -33,7 +34,6 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.couchdb.CouchDbConstants;
 import org.apache.camel.component.couchdb.CouchDbOperations;
 import org.jboss.logging.Logger;
-import org.lightcouch.NoDocumentException;
 
 import static 
org.apache.camel.quarkus.component.couchdb.it.CouchDbRoute.COUCHDB_ENDPOINT_URI;
 
@@ -52,7 +52,7 @@ public class CouchdbResource {
     @PUT
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
-    public CouchdbTestDocument create(CouchdbTestDocument document) {
+    public CouchdbTestDocument create(CouchdbTestDocument document) throws 
InterruptedException {
         LOG.info("Invoking create");
         Exchange createExchange = 
producerTemplate.request(COUCHDB_ENDPOINT_URI,
                 e -> e.getMessage().setBody(document.toJsonObject()));
@@ -72,7 +72,7 @@ public class CouchdbResource {
             e.getMessage().setHeader(CouchDbConstants.HEADER_METHOD, 
CouchDbOperations.GET);
             e.getMessage().setHeader(CouchDbConstants.HEADER_DOC_ID, 
document.getId());
         });
-        if (getExchange.getException(NoDocumentException.class) != null) {
+        if (getExchange.getException(NotFoundException.class) != null) {
             return null;
         } else {
             return getExchange.getMessage().getBody(String.class);
diff --git 
a/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTestDocument.java
 
b/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTestDocument.java
index f384ba8213..9e55787379 100644
--- 
a/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTestDocument.java
+++ 
b/integration-tests/couchdb/src/main/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTestDocument.java
@@ -16,7 +16,11 @@
  */
 package org.apache.camel.quarkus.component.couchdb.it;
 
+import java.util.Optional;
+import java.util.stream.StreamSupport;
+
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 
 public class CouchdbTestDocument {
@@ -67,11 +71,16 @@ public class CouchdbTestDocument {
 
     public static CouchdbTestDocument fromJsonObject(JsonObject jsonObject) {
         CouchdbTestDocument doc = new CouchdbTestDocument();
-        if (jsonObject.has("_id")) {
-            doc.setId(jsonObject.get("_id").getAsString());
+        if (jsonObject.has("id")) {
+            doc.setId(jsonObject.get("id").getAsString());
         }
-        if (jsonObject.has("_rev")) {
-            doc.setRevision(jsonObject.get("_rev").getAsString());
+        if (jsonObject.has("changes") && 
jsonObject.get("changes").isJsonArray()) {
+            JsonArray ja = jsonObject.get("changes").getAsJsonArray();
+            Optional<String> rev = StreamSupport.stream(ja.spliterator(), true)
+                    .filter(jo -> ((JsonObject) jo).has("rev"))
+                    .map(jo2 -> ((JsonObject) jo2).get("rev").getAsString())
+                    .findAny();
+            doc.setRevision(rev.orElse(null));
         }
         if (jsonObject.has("value")) {
             doc.setValue(jsonObject.get("value").getAsString());
diff --git 
a/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
 
b/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
index 9b1810aeee..187f8cb0fe 100644
--- 
a/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
+++ 
b/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
@@ -19,7 +19,7 @@ package org.apache.camel.quarkus.component.couchdb.it;
 import io.quarkus.test.junit.QuarkusIntegrationTest;
 import org.junit.jupiter.api.Disabled;
 
-@Disabled("https://github.com/apache/camel-quarkus/issues/6148";)
+@Disabled("https://github.com/apache/camel-quarkus/issues/6198";)
 @QuarkusIntegrationTest
 class CouchbIT extends CouchdbTest {
 
diff --git 
a/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTest.java
 
b/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTest.java
index 8a4e549fb4..338b85a4d3 100644
--- 
a/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTest.java
+++ 
b/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchdbTest.java
@@ -22,7 +22,6 @@ import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.http.ContentType;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static org.awaitility.Awaitility.await;
@@ -30,13 +29,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-@Disabled("https://github.com/apache/camel-quarkus/issues/6148";)
 @QuarkusTest
 @QuarkusTestResource(CouchdbTestResource.class)
 class CouchdbTest {
 
     @Test
-    public void crudShouldSucceed() {
+    public void crudShouldSucceed() throws InterruptedException {
 
         // Create the initial revision of the document
         CouchdbTestDocument toBeCreated = new CouchdbTestDocument();
@@ -57,6 +55,10 @@ class CouchdbTest {
         assertEquals(created.getRevision(), retrieved.getRevision());
         assertEquals(created.getValue(), retrieved.getValue());
 
+        // Let the CouchDB consumer route some time to record events generated 
by above tests
+        await().atMost(10L, TimeUnit.SECONDS)
+                .until(() -> 
RestAssured.given().get("/couchdb/get-events").path("size()").equals(1));
+
         // Update the initial revision of the document
         retrieved.setValue("update");
         CouchdbTestDocument updated = 
RestAssured.given().contentType(ContentType.JSON).body(retrieved).put("/couchdb/update")
@@ -75,6 +77,10 @@ class CouchdbTest {
         assertEquals(updated.getRevision(), retrieved.getRevision());
         assertEquals("update", retrieved.getValue());
 
+        // Let the CouchDB consumer route some time to record events generated 
by above tests
+        await().atMost(10L, TimeUnit.SECONDS)
+                .until(() -> 
RestAssured.given().get("/couchdb/get-events").path("size()").equals(2));
+
         // Delete the document
         CouchdbTestDocument deleted = 
RestAssured.given().contentType(ContentType.JSON).body(updated).delete("/couchdb/delete")
                 .then().statusCode(200).extract()
@@ -87,28 +93,24 @@ class CouchdbTest {
         
RestAssured.given().contentType(ContentType.JSON).body(created).get("/couchdb/get").then().statusCode(204);
 
         // Let the CouchDB consumer route some time to record events generated 
by above tests
-        await().atMost(10L, TimeUnit.SECONDS).until(() -> {
-            return 
RestAssured.given().get("/couchdb/get-events").path("size()").equals(3);
-        });
+        await().atMost(10L, TimeUnit.SECONDS)
+                .until(() -> 
RestAssured.given().get("/couchdb/get-events").path("size()").equals(3));
         CouchdbTestDocument[] events = 
RestAssured.given().get("/couchdb/get-events").then().statusCode(200).extract()
                 .as(CouchdbTestDocument[].class);
         assertEquals(3, events.length);
 
         CouchdbTestDocument firstEvent = events[0];
         assertNotNull(firstEvent);
-        assertEquals("create", firstEvent.getValue());
         assertEquals(created.getId(), firstEvent.getId());
         assertEquals(created.getRevision(), firstEvent.getRevision());
 
         CouchdbTestDocument secondEvent = events[1];
         assertNotNull(secondEvent);
-        assertEquals("update", secondEvent.getValue());
         assertEquals(updated.getId(), secondEvent.getId());
         assertEquals(updated.getRevision(), secondEvent.getRevision());
 
         CouchdbTestDocument thirdEvent = events[2];
         assertNotNull(thirdEvent);
-        assertEquals("delete", thirdEvent.getValue());
         assertEquals(deleted.getId(), thirdEvent.getId());
         assertEquals(deleted.getRevision(), thirdEvent.getRevision());
     }
diff --git a/pom.xml b/pom.xml
index 90654abcab..4297665709 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
         <murmur.version>1.0.0</murmur.version>
         <mvel2.version>2.5.2.Final</mvel2.version><!-- @sync 
org.apache.camel:camel-dependencies:${camel.version} prop:mvel-version -->
         <mybatis.version>3.5.15</mybatis.version><!-- @sync 
io.quarkiverse.mybatis:quarkus-parent:${quarkiverse-mybatis.version} 
prop:mybatis.version -->
-        <oak-jackrabbit-api.version>1.60.0</oak-jackrabbit-api.version><!-- 
@sync org.apache.jackrabbit:jackrabbit-parent:${jackrabbit-version} 
prop:oak-jackrabbit-api.version.implemented -->
+        <oak-jackrabbit-api.version>1.64.0</oak-jackrabbit-api.version><!-- 
@sync org.apache.jackrabbit:jackrabbit-parent:${jackrabbit-version} 
prop:oak-jackrabbit-api.version.implemented -->
         <okhttp.version>4.12.0</okhttp.version>
         <okio.version>3.6.0</okio.version><!-- @sync 
com.squareup.okhttp3:okhttp:${okhttp.version} dep:com.squareup.okio:okio-->
         <opencensus.version>0.31.0</opencensus.version><!-- Mess in Google 
cloud. Keep in sync with version used in 
com.google.http-client:google-http-client -->
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml 
b/poms/bom/src/main/generated/flattened-full-pom.xml
index 273fe1e0a8..0ac9e605f8 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -6852,7 +6852,7 @@
       <dependency>
         <groupId>org.apache.jackrabbit</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>oak-jackrabbit-api</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
-        <version>1.60.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>1.64.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
       <dependency>
         <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 366173c022..f144a10af4 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -6797,7 +6797,7 @@
       <dependency>
         <groupId>org.apache.jackrabbit</groupId>
         <artifactId>oak-jackrabbit-api</artifactId>
-        <version>1.60.0</version>
+        <version>1.64.0</version>
       </dependency>
       <dependency>
         <groupId>org.apache.kafka</groupId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index d68fc83bdb..6281a51c8d 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -6797,7 +6797,7 @@
       <dependency>
         <groupId>org.apache.jackrabbit</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>oak-jackrabbit-api</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
-        <version>1.60.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>1.64.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
       <dependency>
         <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->

Reply via email to