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

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


The following commit(s) were added to refs/heads/main by this push:
     new aa7bbd1  Test camel-xchange with kraken until binance issues are 
resolved
aa7bbd1 is described below

commit aa7bbd19942ae3f95d1c40a94ab1a1a8f378fca9
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Thu Aug 19 13:29:23 2021 +0100

    Test camel-xchange with kraken until binance issues are resolved
---
 .../xchange/deployment/XchangeProcessor.java       |  5 ++---
 integration-tests/xchange/pom.xml                  |  2 +-
 .../component/xchange/it/XchangeResource.java      | 24 ++++++++++++++--------
 .../quarkus/component/xchange/it/XchangeIT.java    |  2 --
 .../quarkus/component/xchange/it/XchangeTest.java  | 13 ++++++------
 poms/bom-test/pom.xml                              |  2 +-
 6 files changed, 27 insertions(+), 21 deletions(-)

diff --git 
a/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
 
b/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
index 09ab5d1..ddb389a 100644
--- 
a/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
+++ 
b/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
@@ -97,9 +97,9 @@ class XchangeProcessor {
         String[] dtoClasses = index.getKnownClasses()
                 .stream()
                 .map(classInfo -> classInfo.name().toString())
-                .filter(className -> 
className.startsWith("org.knowm.xchange.dto"))
+                .filter(className -> 
className.matches("^org\\.knowm\\.xchange.*dto.*"))
                 .toArray(String[]::new);
-        reflectiveClass.produce(new ReflectiveClassBuildItem(false, true, 
dtoClasses));
+        reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, 
dtoClasses));
 
         // rescu REST framework needs reflective access to the value method on 
some JAX-RS annotations
         String[] jaxrsAnnotations = index.getKnownClasses()
@@ -110,7 +110,6 @@ class XchangeProcessor {
                 .filter(className -> className.startsWith("javax.ws.rs"))
                 .toArray(String[]::new);
         reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, 
jaxrsAnnotations));
-
     }
 
     @BuildStep
diff --git a/integration-tests/xchange/pom.xml 
b/integration-tests/xchange/pom.xml
index e1c1115..af71def 100644
--- a/integration-tests/xchange/pom.xml
+++ b/integration-tests/xchange/pom.xml
@@ -58,7 +58,7 @@
         <!-- Test adding additional crypto exchanges -->
         <dependency>
             <groupId>org.knowm.xchange</groupId>
-            <artifactId>xchange-coinbase</artifactId>
+            <artifactId>xchange-kraken</artifactId>
         </dependency>
 
         <!-- test dependencies -->
diff --git 
a/integration-tests/xchange/src/main/java/org/apache/camel/quarkus/component/xchange/it/XchangeResource.java
 
b/integration-tests/xchange/src/main/java/org/apache/camel/quarkus/component/xchange/it/XchangeResource.java
index 0e205da..e121b8d 100644
--- 
a/integration-tests/xchange/src/main/java/org/apache/camel/quarkus/component/xchange/it/XchangeResource.java
+++ 
b/integration-tests/xchange/src/main/java/org/apache/camel/quarkus/component/xchange/it/XchangeResource.java
@@ -41,6 +41,10 @@ import org.knowm.xchange.dto.meta.CurrencyPairMetaData;
 @ApplicationScoped
 public class XchangeResource {
 
+    // TODO: Reinstate binance as the default crypto exchange and kraken as 
the secondary
+    // https://github.com/apache/camel-quarkus/issues/3016
+    public static final String DEFAULT_CRYPTO_EXCHANGE = "kraken";
+
     @Inject
     ProducerTemplate producerTemplate;
 
@@ -53,9 +57,9 @@ public class XchangeResource {
                 "xchange:" + cryptoExchange + 
"?service=marketdata&method=ticker&currencyPair=" + currencyPair, null,
                 Ticker.class);
         return Json.createObjectBuilder()
-                .add("open", ticker.getOpen().longValue())
-                .add("high", ticker.getHigh().longValue())
-                .add("low", ticker.getLow().longValue())
+                .add("last", ticker.getLast().longValue())
+                .add("bid", ticker.getBid().longValue())
+                .add("ask", ticker.getAsk().longValue())
                 .build();
     }
 
@@ -64,7 +68,8 @@ public class XchangeResource {
     @Produces(MediaType.APPLICATION_JSON)
     @SuppressWarnings("unchecked")
     public JsonObject currencies() {
-        List<Currency> currencies = 
producerTemplate.requestBody("xchange:binance?service=metadata&method=currencies",
 null,
+        List<Currency> currencies = producerTemplate.requestBody(
+                "xchange:" + DEFAULT_CRYPTO_EXCHANGE + 
"?service=metadata&method=currencies", null,
                 List.class);
         JsonArrayBuilder builder = Json.createArrayBuilder();
         currencies.forEach(c -> builder.add(c.getSymbol()));
@@ -75,9 +80,10 @@ public class XchangeResource {
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public String currencyMetadata(@PathParam("symbol") String symbol) {
-        CurrencyMetaData metaData = 
producerTemplate.requestBody("xchange:binance?service=metadata&method=currencyMetaData",
+        CurrencyMetaData metaData = producerTemplate.requestBody(
+                "xchange:" + DEFAULT_CRYPTO_EXCHANGE + 
"?service=metadata&method=currencyMetaData",
                 Currency.getInstance(symbol), CurrencyMetaData.class);
-        return metaData.getWithdrawalFee().toPlainString();
+        return metaData.getScale().toString();
     }
 
     @Path("/currency/pairs")
@@ -85,7 +91,8 @@ public class XchangeResource {
     @Produces(MediaType.APPLICATION_JSON)
     @SuppressWarnings("unchecked")
     public JsonObject currencyPairs() {
-        List<CurrencyPair> currencyPairs = 
producerTemplate.requestBody("xchange:binance?service=metadata&method=currencyPairs",
+        List<CurrencyPair> currencyPairs = producerTemplate.requestBody(
+                "xchange:" + DEFAULT_CRYPTO_EXCHANGE + 
"?service=metadata&method=currencyPairs",
                 null, List.class);
         JsonArrayBuilder builder = Json.createArrayBuilder();
         currencyPairs.forEach(cp -> builder.add(cp.toString()));
@@ -97,7 +104,8 @@ public class XchangeResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String currencyPairsMetadata(@QueryParam("base") String base, 
@QueryParam("counter") String counter) {
         CurrencyPairMetaData metaData = producerTemplate.requestBody(
-                
"xchange:binance?service=metadata&method=currencyPairMetaData", new 
CurrencyPair(base, counter),
+                "xchange:" + DEFAULT_CRYPTO_EXCHANGE + 
"?service=metadata&method=currencyPairMetaData",
+                new CurrencyPair(base, counter),
                 CurrencyPairMetaData.class);
         return metaData.getTradingFee().toPlainString();
     }
diff --git 
a/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeIT.java
 
b/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeIT.java
index a26db13..2928901 100644
--- 
a/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeIT.java
+++ 
b/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeIT.java
@@ -16,10 +16,8 @@
  */
 package org.apache.camel.quarkus.component.xchange.it;
 
-import io.quarkus.test.junit.DisabledOnNativeImage;
 import io.quarkus.test.junit.NativeImageTest;
 
-@DisabledOnNativeImage("https://github.com/apache/camel-quarkus/issues/3016";)
 @NativeImageTest
 class XchangeIT extends XchangeTest {
 
diff --git 
a/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeTest.java
 
b/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeTest.java
index f41be80..30c5c91 100644
--- 
a/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeTest.java
+++ 
b/integration-tests/xchange/src/test/java/org/apache/camel/quarkus/component/xchange/it/XchangeTest.java
@@ -18,7 +18,6 @@ package org.apache.camel.quarkus.component.xchange.it;
 
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
@@ -28,12 +27,14 @@ import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.hasItems;
 import static org.hamcrest.Matchers.not;
 
-@Disabled("https://github.com/apache/camel-quarkus/issues/3016";)
 @QuarkusTest
 class XchangeTest {
 
+    // TODO: Reinstate binance as the default crypto exchange and kraken as 
the secondary
+    // https://github.com/apache/camel-quarkus/issues/3016
+    // @ValueSource(strings = { DEFAULT_CRYPTO_EXCHANGE, "kraken" })
     @ParameterizedTest
-    @ValueSource(strings = { "binance", "coinbase" })
+    @ValueSource(strings = { "kraken" })
     public void currencyTicker(String cryptoExchange) {
         RestAssured.given()
                 .queryParam("currencyPair", "BTC/USDT")
@@ -41,9 +42,9 @@ class XchangeTest {
                 .then()
                 .statusCode(200)
                 .body(
-                        "open", greaterThan(0),
-                        "high", greaterThan(0),
-                        "low", greaterThan(0));
+                        "last", greaterThan(0),
+                        "bid", greaterThan(0),
+                        "ask", greaterThan(0));
     }
 
     @Test
diff --git a/poms/bom-test/pom.xml b/poms/bom-test/pom.xml
index 44e43ba..57779c6 100644
--- a/poms/bom-test/pom.xml
+++ b/poms/bom-test/pom.xml
@@ -208,7 +208,7 @@
             </dependency>
             <dependency>
                 <groupId>org.knowm.xchange</groupId>
-                <artifactId>xchange-coinbase</artifactId>
+                <artifactId>xchange-kraken</artifactId>
                 <version>${xchange.version}</version>
             </dependency>
             <dependency>

Reply via email to