You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/07/20 09:07:23 UTC
[camel-quarkus] branch camel-main updated: Fixed arangodb + generated pomns
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
The following commit(s) were added to refs/heads/camel-main by this push:
new efc58d8d32 Fixed arangodb + generated pomns
efc58d8d32 is described below
commit efc58d8d32a8b5ca61db181efed116e453595d11
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Thu Jul 20 11:03:39 2023 +0200
Fixed arangodb + generated pomns
---
.../component/arangodb/it/ArangodbResource.java | 58 +++++++++++++----
.../component/arangodb/it/ArangodbTest.java | 75 +++++++++-------------
.../arangodb/it/ArangodbTestResource.java | 2 +-
poms/bom/src/main/generated/flattened-full-pom.xml | 10 +--
.../src/main/generated/flattened-reduced-pom.xml | 10 +--
.../generated/flattened-reduced-verbose-pom.xml | 10 +--
6 files changed, 91 insertions(+), 74 deletions(-)
diff --git a/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java b/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java
index e56adbcb65..8da0ca2ef0 100644
--- a/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java
+++ b/integration-tests/arangodb/src/main/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbResource.java
@@ -17,10 +17,13 @@
package org.apache.camel.quarkus.component.arangodb.it;
import java.net.URI;
-import java.util.Collection;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
+import com.arangodb.entity.BaseDocument;
import com.arangodb.entity.DocumentCreateEntity;
import com.arangodb.entity.DocumentDeleteEntity;
import jakarta.enterprise.context.ApplicationScoped;
@@ -36,6 +39,7 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import org.apache.camel.ProducerTemplate;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;
import static org.apache.camel.component.arangodb.ArangoDbConstants.AQL_QUERY;
@@ -44,7 +48,7 @@ import static org.apache.camel.component.arangodb.ArangoDbConstants.AQL_QUERY_OP
import static org.apache.camel.component.arangodb.ArangoDbConstants.ARANGO_KEY;
import static org.apache.camel.component.arangodb.ArangoDbConstants.RESULT_CLASS_TYPE;
-@Path("/arangodb/camel")
+@Path("/arangodb")
@ApplicationScoped
public class ArangodbResource {
@@ -53,14 +57,20 @@ public class ArangodbResource {
@Inject
ProducerTemplate producerTemplate;
+ @ConfigProperty(name = "camel.arangodb.host")
+ String host;
+
+ @ConfigProperty(name = "camel.arangodb.port")
+ String port;
+
@PUT
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)
public Response put(String message) throws Exception {
LOG.infof("Saving to arangodb: %s", message);
final DocumentCreateEntity<?> response = producerTemplate.requestBody(
- "arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=SAVE_DOCUMENT",
- message, DocumentCreateEntity.class);
+ String.format("arangodb:test?host=%s&port=%s&documentCollection=camel&operation=SAVE_DOCUMENT", host, port),
+ toDocument(message), DocumentCreateEntity.class);
LOG.infof("Got response from arangodb: %s", response);
return Response
.created(new URI("https://camel.apache.org/"))
@@ -73,13 +83,13 @@ public class ArangodbResource {
@Produces(MediaType.TEXT_PLAIN)
public Response get(@PathParam("key") String key) throws Exception {
LOG.infof("Retrieve document from arangodb with key: %s", key);
- final String response = producerTemplate.requestBodyAndHeader(
+ final BaseDocument response = producerTemplate.requestBodyAndHeader(
"arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=FIND_DOCUMENT_BY_KEY",
- key, RESULT_CLASS_TYPE, String.class, String.class);
+ key, RESULT_CLASS_TYPE, BaseDocument.class, BaseDocument.class);
LOG.infof("Got response from arangodb: %s", response);
return Response
.ok()
- .entity(response)
+ .entity(toString(response))
.build();
}
@@ -107,7 +117,7 @@ public class ArangodbResource {
producerTemplate.requestBodyAndHeaders(
"arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&documentCollection=camel&operation=UPDATE_DOCUMENT",
- msg, headers, String.class);
+ toDocument(msg), headers, String.class);
return Response
.ok()
.build();
@@ -126,15 +136,39 @@ public class ArangodbResource {
headers.put(AQL_QUERY, query);
headers.put(AQL_QUERY_BIND_PARAMETERS, bindVars);
headers.put(AQL_QUERY_OPTIONS, null);
- headers.put(RESULT_CLASS_TYPE, String.class);
+ headers.put(RESULT_CLASS_TYPE, Map.class);
- final Collection<?> responseList = producerTemplate.requestBodyAndHeaders(
+ final List o = producerTemplate.requestBodyAndHeaders(
"arangodb:test?host={{camel.arangodb.host}}&port={{camel.arangodb.port}}&operation=AQL_QUERY",
- fooName, headers, Collection.class);
+ fooName, headers, List.class);
return Response
.ok()
- .entity(responseList.toString())
+ .entity(toString(o))
.build();
}
+
+ private BaseDocument toDocument(String msg) {
+ BaseDocument myObject = new BaseDocument();
+ Arrays.stream(msg.split(",")).map(pair -> pair.split(":"))
+ .forEach(strings -> myObject.addAttribute(strings[0], strings[1]));
+ return myObject;
+ }
+
+ private String toString(Object o) {
+ if (o instanceof List && ((List) o).size() == 1 && ((List) o).get(0) instanceof Map) {
+ return toString(((List) o).get(0));
+ }
+
+ if (o instanceof Map) {
+ return (String) ((Map) o).entrySet().stream()
+ .map(e -> ((Map.Entry) e).getKey() + ":" + ((Map.Entry) e).getValue())
+ .collect(Collectors.joining(","));
+ }
+
+ if (o instanceof BaseDocument) {
+ return toString(((BaseDocument) o).getProperties());
+ }
+ return o.toString();
+ }
}
diff --git a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
index 642dd304c0..aab9c737e8 100644
--- a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
+++ b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
@@ -24,16 +24,14 @@ import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
-import io.restassured.response.Response;
-import io.restassured.specification.RequestSpecification;
import org.eclipse.microprofile.config.ConfigProvider;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.hamcrest.Matchers.both;
+import static org.hamcrest.Matchers.containsString;
import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
@QuarkusTest
@QuarkusTestResource(ArangodbTestResource.class)
@@ -46,29 +44,23 @@ class ArangodbTest {
@Test
public void testCreateGetDeleteDocument() {
// create a new document
- RequestSpecification request = RestAssured.given()
+ String key = RestAssured.given()
.contentType(ContentType.TEXT)
- .body("{\"foo\":\"bar\"}");
- Response response = request.put("/arangodb/camel");
-
- int statusCode = response.getStatusCode();
- assertEquals(201, statusCode);
- // getting key of the document inserted
- String key = response.body().asString().trim();
-
- // get the document by key
- request = RestAssured.given()
- .contentType(ContentType.TEXT);
- response = request.get("/arangodb/camel/" + key);
- statusCode = response.getStatusCode();
- assertEquals(200, statusCode);
- String document = response.body().asString().trim();
- assertTrue(document.contains("\"foo\":\"bar\""));
+ .body("foo:bar")
+ .put("/arangodb")
+ .then()
+ .statusCode(201)
+ .extract().body().asString();
+
+ RestAssured.get("/arangodb/" + key)
+ .then()
+ .statusCode(200)
+ .body(containsString("foo:bar"));
// delete document
RestAssured.given()
.contentType(ContentType.TEXT)
- .delete("/arangodb/camel/" + key)
+ .delete("/arangodb/" + key)
.then()
.statusCode(200);
@@ -88,19 +80,16 @@ class ArangodbTest {
// udpate document
RestAssured.given()
.contentType(ContentType.TEXT)
- .body("{\"key\":\"myKey\",\"foo\":\"hello\", \"gg\":\"42\"}")
- .post("/arangodb/camel/myKey")
+ .body("key:myKey,foo:hello,gg:42")
+ .post("/arangodb/myKey")
.then()
.statusCode(200);
// get document by key
- RequestSpecification request = RestAssured.given()
- .contentType(ContentType.TEXT);
- Response response = request.get("/arangodb/camel/myKey");
- assertEquals(200, response.getStatusCode());
- String document = response.body().asString().trim();
- assertTrue(document.contains("\"foo\":\"hello\""));
- assertTrue(document.contains("\"gg\":\"42\""));
+ RestAssured.get("/arangodb/myKey")
+ .then()
+ .statusCode(200)
+ .body(both(containsString("foo:hello")).and(containsString("gg:42")));
}
@Test
@@ -117,21 +106,15 @@ class ArangodbTest {
myObject2.addAttribute("foo", "bar2");
collection.insertDocument(myObject2);
- // get document with foo = bar1
- RequestSpecification request = RestAssured.given()
- .contentType(ContentType.TEXT);
- Response response = request.get("/arangodb/camel/foo/bar1");
- assertEquals(200, response.getStatusCode());
- String result = response.body().asString();
- assertTrue(result.contains("\"_key\":\"keyBar1\""));
-
- //get document with foo = bar2
- request = RestAssured.given()
- .contentType(ContentType.TEXT);
- response = request.get("/arangodb/camel/foo/bar2");
- assertEquals(200, response.getStatusCode());
- result = response.body().asString().trim();
- assertTrue(result.contains("\"_key\":\"keyBar2\""));
+ RestAssured.get("/arangodb/foo/bar1")
+ .then()
+ .statusCode(200)
+ .body(containsString("_key:keyBar1"));
+
+ RestAssured.get("/arangodb/foo/bar2")
+ .then()
+ .statusCode(200)
+ .body(containsString("_key:keyBar2"));
}
@BeforeAll
diff --git a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java
index b18228c91a..fff7512293 100644
--- a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java
+++ b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTestResource.java
@@ -32,7 +32,7 @@ public class ArangodbTestResource implements QuarkusTestResourceLifecycleManager
private static final Logger LOGGER = LoggerFactory.getLogger(ArangodbTestResource.class);
private GenericContainer<?> container;
private static final String CONTAINER_NAME = "arango";
- private static final String ARANGO_IMAGE = "arangodb:latest";
+ private static final String ARANGO_IMAGE = "arangodb:3.10.9";
private static final String ARANGO_NO_AUTH = "ARANGO_NO_AUTH";
private static final Integer PORT_DEFAULT = 8529;
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml
index c8a7c7c619..76a61f8661 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -6115,7 +6115,7 @@
<dependency>
<groupId>com.squareup.okio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>okio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>1.17.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.17.5</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6691,22 +6691,22 @@
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>core</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.6.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>5.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>geth</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.6.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>5.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>parity</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.6.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>5.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>quorum</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>0.8.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>4.10.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>software.amazon.awssdk.crt</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 f6373ec294..0a147eea3b 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -6115,7 +6115,7 @@
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
- <version>1.17.2</version>
+ <version>1.17.5</version>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
@@ -6656,22 +6656,22 @@
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
- <version>3.6.0</version>
+ <version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.web3j</groupId>
<artifactId>geth</artifactId>
- <version>3.6.0</version>
+ <version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.web3j</groupId>
<artifactId>parity</artifactId>
- <version>3.6.0</version>
+ <version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.web3j</groupId>
<artifactId>quorum</artifactId>
- <version>0.8.0</version>
+ <version>4.10.0</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk.crt</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 4db76fb393..a99a8ea618 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -6115,7 +6115,7 @@
<dependency>
<groupId>com.squareup.okio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>okio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>1.17.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.17.5</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6656,22 +6656,22 @@
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>core</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.6.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>5.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>geth</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.6.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>5.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>parity</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.6.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>5.0.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>org.web3j</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>quorum</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>0.8.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>4.10.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
<dependency>
<groupId>software.amazon.awssdk.crt</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->