You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2018/09/06 10:49:00 UTC
[incubator-plc4x] branch feature/api-redesign-chris-c updated: -
Fixed the camel test-suite and build
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/api-redesign-chris-c
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/feature/api-redesign-chris-c by this push:
new a4afc99 - Fixed the camel test-suite and build
a4afc99 is described below
commit a4afc99d9ed033424f56e44afad00faa4f6c1228
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Sep 6 12:48:57 2018 +0200
- Fixed the camel test-suite and build
---
integrations/apache-camel/pom.xml | 15 +++++++--------
.../main/java/org/apache/plc4x/camel/Plc4XConsumer.java | 5 ++---
.../test/java/org/apache/plc4x/camel/MockDriver.java | 17 +++++++----------
.../java/org/apache/plc4x/camel/Plc4XProducerTest.java | 8 ++++----
4 files changed, 20 insertions(+), 25 deletions(-)
diff --git a/integrations/apache-camel/pom.xml b/integrations/apache-camel/pom.xml
index 3fa68fe..ff292f5 100644
--- a/integrations/apache-camel/pom.xml
+++ b/integrations/apache-camel/pom.xml
@@ -89,6 +89,12 @@
</dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-driver-base</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-protocol-ads</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>test</scope>
@@ -159,14 +165,7 @@
</goals>
<configuration>
<failOnWarning>true</failOnWarning>
- <ignoredDependencies>
- <ignoredDependency>org.assertj:assertj-core</ignoredDependency>
- <ignoredDependency>junit:junit</ignoredDependency>
- <ignoredDependency>org.hamcrest:hamcrest-core</ignoredDependency>
- <ignoredDependency>org.hamcrest:hamcrest-library</ignoredDependency>
- <ignoredDependency>org.mockito:mockito-core</ignoredDependency>
- <ignoredDependency>org.slf4j:slf4j-api</ignoredDependency>
- <ignoredDependency>ch.qos.logback:logback-classic</ignoredDependency>
+ <ignoredDependencies combine.children="append">
<ignoredDependency>org.apache.plc4x:plc4j-protocol-ads</ignoredDependency>
</ignoredDependencies>
</configuration>
diff --git a/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XConsumer.java b/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XConsumer.java
index 510690a..f2cccee 100644
--- a/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XConsumer.java
+++ b/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XConsumer.java
@@ -79,14 +79,13 @@ public class Plc4XConsumer extends ServiceSupport implements Consumer, java.util
}
@Override
- protected void doStart() throws InterruptedException, ExecutionException, TimeoutException, PlcException {
+ protected void doStart() throws InterruptedException, ExecutionException, PlcException {
PlcSubscriber plcSubscriber = plcConnection.getSubscriber().orElseThrow(
() -> new PlcException("Connection doesn't support subscriptions."));
// TODO: Is it correct to only support one field?
PlcSubscriptionRequest request = plcSubscriber.subscriptionRequestBuilder()
.addCyclicField("default", fieldQuery, Duration.of(3, ChronoUnit.SECONDS)).build();
- CompletableFuture<PlcSubscriptionResponse> subscriptionFuture = getSubscriber().subscribe(request);
- subscriptionResponse = subscriptionFuture.get(5, TimeUnit.SECONDS);
+ plcSubscriber.register(request, this);
}
@Override
diff --git a/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/MockDriver.java b/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/MockDriver.java
index 7ae7263..b8575eb 100644
--- a/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/MockDriver.java
+++ b/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/MockDriver.java
@@ -29,6 +29,7 @@ import org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
import org.apache.plc4x.java.api.model.PlcField;
import org.apache.plc4x.java.api.model.PlcSubscriptionHandle;
import org.apache.plc4x.java.api.types.PlcResponseCode;
+import org.apache.plc4x.java.base.messages.DefaultPlcSubscriptionResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,18 +66,14 @@ public class MockDriver implements PlcDriver {
public PlcConnection connect(String url) {
// Mock a connection.
PlcConnection plcConnectionMock = mock(PlcConnection.class, RETURNS_DEEP_STUBS);
- /*try {
- when(plcConnectionMock.prepareField(anyString())).thenReturn(mock(PlcField.class));
- } catch (PlcException e) {
- throw new RuntimeException(e);
- }*/
when(plcConnectionMock.getWriter()).thenReturn(Optional.of(mock(PlcWriter.class, RETURNS_DEEP_STUBS)));
// Mock a typical subscriber.
- /*PlcSubscriber plcSubscriber = mock(PlcSubscriber.class, RETURNS_DEEP_STUBS);
+ PlcSubscriber plcSubscriber = mock(PlcSubscriber.class, RETURNS_DEEP_STUBS);
when(plcSubscriber.subscribe(any())).thenAnswer(invocation -> {
LOGGER.info("Received {}", invocation);
- PlcSubscriptionRequest subscriptionRequest = invocation.getArgument(0);
+ // TODO: Translate this so it actually does something ...
+ /*PlcSubscriptionRequest subscriptionRequest = invocation.getArgument(0);
List<PlcSubscriptionResponse> responseItems =
subscriptionRequest.getFieldNames().stream().map(
fieldName -> subscriptionRequest.getField(fieldName)).map(field -> {
@@ -95,14 +92,14 @@ public class MockDriver implements PlcDriver {
return new SubscriptionResponseItem<>(subscriptionRequestItem,
mock(PlcSubscriptionHandle.class, RETURNS_DEEP_STUBS), PlcResponseCode.OK);
}).collect(Collectors.toList());
- PlcSubscriptionResponse response = new PlcSubscriptionResponse(subscriptionRequest, responseItems);
+ PlcSubscriptionResponse response = new PlcSubscriptionResponse(subscriptionRequest, responseItems);*/
+ PlcSubscriptionResponse response = new DefaultPlcSubscriptionResponse();
CompletableFuture<PlcSubscriptionResponse> responseFuture = new CompletableFuture<>();
responseFuture.complete(response);
return responseFuture;
});
when(plcConnectionMock.getSubscriber()).thenReturn(Optional.of(plcSubscriber));
- return plcConnectionMock;*/
- return null;
+ return plcConnectionMock;
}
@Override
diff --git a/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XProducerTest.java b/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XProducerTest.java
index 7d8ef2f..f35ce3d 100644
--- a/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XProducerTest.java
+++ b/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XProducerTest.java
@@ -23,7 +23,6 @@ import org.apache.camel.ExchangePattern;
import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.connection.PlcConnection;
import org.apache.plc4x.java.api.connection.PlcWriter;
-import org.apache.plc4x.java.api.model.PlcField;
import org.junit.Before;
import org.junit.Test;
@@ -51,8 +50,10 @@ public class Plc4XProducerTest {
when(endpointMock.getPlcDriverManager()).thenReturn(plcDriverManagerMock);
SUT = new Plc4XProducer(endpointMock);
testExchange = mock(Exchange.class, RETURNS_DEEP_STUBS);
- when(testExchange.getIn().getHeader(eq(Constants.FIELD_QUERY_HEADER), eq(PlcField.class)))
- .thenReturn(mock(PlcField.class));
+ when(testExchange.getIn().getHeader(eq(Constants.FIELD_NAME_HEADER), eq(String.class)))
+ .thenReturn("Hurz");
+ when(testExchange.getIn().getHeader(eq(Constants.FIELD_QUERY_HEADER), eq(String.class)))
+ .thenReturn("PlcField.class");
}
@Test
@@ -66,7 +67,6 @@ public class Plc4XProducerTest {
when(testExchange.getIn().getBody()).thenReturn(Arrays.asList("test","test"));
when(testExchange.getIn().getBody(eq(List.class))).thenReturn(Arrays.asList("test","test"));
SUT.process(testExchange);
-
}
@Test