You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jm...@apache.org on 2017/12/27 04:48:50 UTC

[incubator-plc4x] branch master updated (318d321 -> 3e89712)

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

jmclean pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git.


    from 318d321  Merge branches 'feature/fine-tuned-site-generation' and 'master' of https://gitbox.apache.org/repos/asf/incubator-plc4x
     new b10875b  add some simple unit tests
     new f1c9435  No need for tests in name
     new f16934e  renamed
     new af79c42  No need for tests in name
     new 736c732  some new test
     new c6edbde  No need for tests in name
     new 2a4d834  No need for tests in name
     new a7ab5ee  wrong constant value
     new ad6bf6f  fix failing test
     new 3e89712  Merge branch 'master' of https://gitbox.apache.org/repos/asf/incubator-plc4x

The 10 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/api/messages/items/APIMessageTests.java   | 196 +++++++++++++++++++++
 .../java/isotp/netty/model/tpdus/ErrorTpdu.java    |   2 +-
 .../plc4x/java/s7/connection/S7PlcConnection.java  |   6 +-
 .../java/isotp/netty/model/IsoTPMessageTests.java  |  40 +++++
 .../isotp/netty/model/params/ParameterTests.java   |  50 ++++++
 .../netty/model/params/TsapParameterTests.java     |  45 +++++
 .../isotp/netty/model/tpdus/IsotpModelTests.java   | 139 +++++++++++++++
 .../isotp/netty/model/types/IsotpTypeTests.java    | 153 ++++++++++++++++
 .../plc4x/java/netty/events/S7StateTests.java      |  26 +++
 .../org/apache/plc4x/java/s7/S7PlcDriverTest.java  |   6 +-
 .../java/s7/connection/S7PlcConnectionTests.java   |  86 +++++++++
 .../apache/plc4x/java/s7/model/S7AddressTests.java |  42 +++++
 .../s7/netty/model/messages/S7MessageTests.java    |  62 +++++++
 .../s7/netty/model/params/S7ParameterTests.java    |  62 +++++++
 .../s7/netty/model/payloads/S7PayloadTests.java    |  44 +++++
 .../java/s7/netty/model/types/S7TypeTests.java     |  84 +++++++++
 16 files changed, 1036 insertions(+), 7 deletions(-)
 create mode 100644 integrations/apache-edgent/src/test/java/org/apache/plc4x/java/api/messages/items/APIMessageTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/IsoTPMessageTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/S7StateTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/S7AddressTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/S7ParameterTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/S7PayloadTests.java
 create mode 100644 plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java

-- 
To stop receiving notification emails like this one, please contact
['"commits@plc4x.apache.org" <co...@plc4x.apache.org>'].

[incubator-plc4x] 05/10: some new test

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit 736c732ad7c2fdab3cec80127245e3ee00789d44
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:37:37 2017 +1100

    some new test
---
 .../java/api/messages/items/APIMessageTests.java   | 196 +++++++++++++++++++++
 .../java/isotp/netty/model/IsoTPMessageTests.java  |  40 +++++
 .../isotp/netty/model/tpdus/IsotpModelTests.java   | 139 +++++++++++++++
 .../plc4x/java/netty/events/S7StateTests.java      |  26 +++
 .../java/s7/connection/S7PlcConnectionTests.java   |  86 +++++++++
 .../apache/plc4x/java/s7/model/S7AddressTests.java |  42 +++++
 .../s7/netty/model/messages/S7MessageTests.java    |  62 +++++++
 .../s7/netty/model/params/S7ParameterTests.java    |  62 +++++++
 .../s7/netty/model/payloads/S7PayloadTests.java    |  44 +++++
 .../java/s7/netty/model/types/S7TypeTests.java     |  84 +++++++++
 10 files changed, 781 insertions(+)

diff --git a/integrations/apache-edgent/src/test/java/org/apache/plc4x/java/api/messages/items/APIMessageTests.java b/integrations/apache-edgent/src/test/java/org/apache/plc4x/java/api/messages/items/APIMessageTests.java
new file mode 100644
index 0000000..b205f87
--- /dev/null
+++ b/integrations/apache-edgent/src/test/java/org/apache/plc4x/java/api/messages/items/APIMessageTests.java
@@ -0,0 +1,196 @@
+package org.apache.plc4x.java.api.messages.items;
+
+import org.apache.plc4x.edgent.mock.MockAddress;
+import org.apache.plc4x.java.api.messages.PlcReadRequest;
+import org.apache.plc4x.java.api.messages.PlcReadResponse;
+import org.apache.plc4x.java.api.messages.PlcWriteRequest;
+import org.apache.plc4x.java.api.messages.PlcWriteResponse;
+import org.apache.plc4x.java.api.types.ResponseCode;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class APIMessageTests {
+
+    @Test
+    @Tag("fast")
+    void readRequestItemSize() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        ReadRequestItem readRequestItem = new ReadRequestItem(Byte.class, address, 1);
+        assertTrue(readRequestItem.getAddress().equals(address), "Unexpected address");
+        assertTrue(readRequestItem.getDatatype() == Byte.class, "Unexpected data type");
+        assertTrue(readRequestItem.getSize() == 1, "Unexpected size");
+    }
+
+    @Test
+    @Tag("fast")
+    void readRequestItem() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        ReadRequestItem readRequestItem = new ReadRequestItem(Byte.class, address);
+        assertTrue(readRequestItem.getAddress().equals(address), "Unexpected address");
+        assertTrue(readRequestItem.getDatatype() == Byte.class, "Unexpected data type");
+        assertTrue(readRequestItem.getSize() == 1, "Unexpected size");
+    }
+
+    @Test
+    @Tag("fast")
+    void readResponseItem() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        ReadRequestItem readRequestItem = new ReadRequestItem(Byte.class, address, 1);
+        ReadResponseItem readResponseItem = new  ReadResponseItem(readRequestItem, ResponseCode.OK, Collections.emptyList());
+        assertTrue(readResponseItem.getResponseCode() ==  ResponseCode.OK, "Unexpected response code");
+        assertTrue(readResponseItem.getValues().isEmpty(), "List should be empty");
+        assertTrue(readResponseItem.getRequestItem().equals(readRequestItem), "Unexpected read request item");
+    }
+
+    @Test
+    @Tag("fast")
+    void writeRequestItem() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        WriteRequestItem writeRequestItem = new WriteRequestItem(Byte.class, address, (byte) 0x45);
+        assertTrue(writeRequestItem.getAddress().equals(address), "Unexpected address");
+        assertTrue(writeRequestItem.getDatatype() == Byte.class, "Unexpected data type");
+        assertTrue((Byte) writeRequestItem.getValues()[0] == 0x45, "Unexpected value");
+    }
+
+    @Test
+    @Tag("fast")
+    void writeRequestItems() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        Byte data[] = { new Byte((byte) 0x23), new Byte((byte) 0x84) };
+        WriteRequestItem writeRequestItem = new WriteRequestItem(Byte.class, address, data);
+        assertTrue(writeRequestItem.getAddress().equals(address), "Unexpected address");
+        assertTrue(writeRequestItem.getDatatype() == Byte.class, "Unexpected data type");
+        assertTrue((Byte) writeRequestItem.getValues()[0] == (byte) 0x23, "Unexpected value");
+        assertTrue((Byte) writeRequestItem.getValues()[1] == (byte) 0x84, "Unexpected value");
+    }
+
+    @Test
+    @Tag("fast")
+    void writeResponseItem() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        WriteRequestItem writeRequestItem = new WriteRequestItem(Byte.class, address, new Byte((byte) 0x3B));
+        WriteResponseItem writeResponseItem = new  WriteResponseItem(writeRequestItem, ResponseCode.OK);
+        assertTrue(writeResponseItem.getResponseCode() ==  ResponseCode.OK, "Unexpected response code");
+        assertTrue((Boolean) writeResponseItem.getRequestItem().equals(writeRequestItem),  "Unexpected response item");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcReadRequestEmpty() {
+        PlcReadRequest plcReadRequest = new PlcReadRequest();
+        assertTrue(plcReadRequest.getReadRequestItems().isEmpty(), "Request items not empty");
+        assertTrue(plcReadRequest.getNumItems() == 0, "Expected request items to be zero");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcReadRequestAddress() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        PlcReadRequest plcReadRequest = new PlcReadRequest(Byte.class, address);
+        assertTrue(plcReadRequest.getReadRequestItems().size() == 1, "Expected one request item");
+        assertTrue(plcReadRequest.getNumItems() == 1, "Expected one request item");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcReadRequestSize() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        PlcReadRequest plcReadRequest = new PlcReadRequest(Byte.class, address, 1);
+        assertTrue(plcReadRequest.getReadRequestItems().size() == 1, "Expected one request item");
+        assertTrue(plcReadRequest.getNumItems() == 1, "Expected one request item");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcReadRequestAddItem() {
+        PlcReadRequest plcReadRequest = new PlcReadRequest();
+        assertTrue(plcReadRequest.getReadRequestItems().isEmpty(), "Request items not empty");
+        assertTrue(plcReadRequest.getNumItems() == 0, "Expected request items to be zero");
+        MockAddress address = new MockAddress("mock:/DATA");
+        ReadRequestItem readRequestItem = new ReadRequestItem(Byte.class, address, 1);
+        plcReadRequest.addItem(readRequestItem);
+        assertTrue(plcReadRequest.getReadRequestItems().size() == 1, "Expected one request item");
+        assertTrue(plcReadRequest.getNumItems() == 1, "Expected one request item");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcReadResponse() {
+        PlcReadRequest plcReadRequest = new PlcReadRequest();
+        ArrayList<ReadResponseItem> responseItems  = new ArrayList<>();
+        MockAddress address = new MockAddress("mock:/DATA");
+        ReadRequestItem readRequestItem = new ReadRequestItem(Byte.class, address, 1);
+        ReadResponseItem readResponseItem = new  ReadResponseItem(readRequestItem, ResponseCode.OK, Collections.emptyList());
+        responseItems.add(readResponseItem);
+        PlcReadResponse plcReadResponse = new PlcReadResponse(plcReadRequest, responseItems);
+        assertTrue(plcReadResponse.getRequest().getNumItems() == 0, "Unexpected number of response items");
+        assertTrue(plcReadResponse.getRequest().equals(plcReadRequest), "Unexpected read request");
+        assertTrue(plcReadResponse.getResponseItems().size() == 1, "Unexpected number of response items");
+        assertTrue(plcReadResponse.getResponseItems().containsAll(responseItems), "Unexpected items in response items");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcWriteRequestItem() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        WriteRequestItem writeRequestItem = new WriteRequestItem(Byte.class, address, (byte) 0x45);
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest();
+
+        assertTrue(writeRequestItem.getAddress().equals(address), "Unexpected address");
+        assertTrue(writeRequestItem.getDatatype() == Byte.class, "Unexpected data type");
+        assertTrue((Byte) writeRequestItem.getValues()[0] == 0x45, "Unexpected value");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcWriteRequestEmpty() {
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest();
+        assertTrue(plcWriteRequest.getRequestItems().isEmpty(), "Request items not empty");
+        assertTrue(plcWriteRequest.getNumItems() == 0, "Expected request items to be zero");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcWriteRequestObject() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest(Byte.class, address, new Byte((byte) 0x33));
+        assertTrue(plcWriteRequest.getRequestItems().size() == 1, "Expected no request item");
+        assertTrue(plcWriteRequest.getNumItems() == 1, "Expected one request item");
+        Object[] values = (Object[])plcWriteRequest.getRequestItems().get(0).getValues();
+        assertTrue((byte)values[0] == (byte) 0x33, "Expected value 0x33");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcWriteRequestObjects() {
+        MockAddress address = new MockAddress("mock:/DATA");
+        Byte[] data = {new Byte((byte)0x22), new Byte((byte)0x66)};
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest(Byte.class, address, data);
+        assertTrue(plcWriteRequest.getRequestItems().size() == 1, "Expected one request item");
+        assertTrue(plcWriteRequest.getNumItems() == 1, "Expected one request item");
+        Byte[] values = (Byte[])plcWriteRequest.getRequestItems().get(0).getValues();
+        assertTrue(values[0] == (byte) 0x22, "Expected value 0x22");
+        assertTrue(values[1] == (byte) 0x66, "Expected value 0x66");
+    }
+
+    @Test
+    @Tag("fast")
+    void plcWriteResponse() {
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest();
+        ArrayList<WriteResponseItem> responseItems  = new ArrayList<>();
+        MockAddress address = new MockAddress("mock:/DATA");
+        WriteRequestItem writeRequestItem = new WriteRequestItem(Byte.class, address, 1);
+        WriteResponseItem writeResponseItem = new WriteResponseItem(writeRequestItem, ResponseCode.OK);
+        responseItems.add(writeResponseItem);
+        PlcWriteResponse plcReadResponse = new PlcWriteResponse(plcWriteRequest, responseItems);
+        assertTrue(plcReadResponse.getRequest().getNumItems() == 0, "Unexpected number of response items");
+        assertTrue(plcReadResponse.getRequest().equals(plcWriteRequest), "Unexpected read request");
+        assertTrue(plcReadResponse.getResponseItems().size() == 1, "Unexpected number of response items");
+        assertTrue(plcReadResponse.getResponseItems().containsAll(responseItems), "Unexpected items in response items");
+    }
+}
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/IsoTPMessageTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/IsoTPMessageTests.java
new file mode 100644
index 0000000..bba80c3
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/IsoTPMessageTests.java
@@ -0,0 +1,40 @@
+package org.apache.plc4x.java.isotp.netty.model;
+
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import org.apache.plc4x.java.isotp.netty.model.params.Parameter;
+import org.apache.plc4x.java.isotp.netty.model.tpdus.ErrorTpdu;
+import org.apache.plc4x.java.isotp.netty.model.types.RejectCause;
+import org.apache.plc4x.java.isotp.netty.model.types.TpduCode;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class IsoTPMessageTests {
+
+    @Test
+    @Tag("fast")
+    void testIsoTPMessage() {
+        short destinationReference = 0x1;
+        RejectCause rejectCause = RejectCause.REASON_NOT_SPECIFIED;
+        List<Parameter> parameters = Collections.emptyList();
+        ByteBuf errorData = Unpooled.buffer();
+        ErrorTpdu tpdu = new ErrorTpdu(destinationReference, rejectCause, parameters, errorData);
+        ByteBuf userData = Unpooled.buffer();
+        IsoTPMessage isoTpMessage = new IsoTPMessage(tpdu, userData);
+
+        errorData.writeByte(0x72);
+        userData.writeByte(0x32);
+
+        assertTrue(isoTpMessage.getTpdu().getTpduCode() == TpduCode.TPDU_ERROR, "Unexpected Tpdu");
+        // Question: do we need two user data fields?
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x72, "Unexpected user data");
+        assertTrue(isoTpMessage.getUserData().readByte() == (byte) 0x32, "Unexpected user data");
+    }
+
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java
new file mode 100644
index 0000000..f798b33
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java
@@ -0,0 +1,139 @@
+package org.apache.plc4x.java.isotp.netty.model.tpdus;
+
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import org.apache.plc4x.java.isotp.netty.model.params.Parameter;
+import org.apache.plc4x.java.isotp.netty.model.types.DisconnectReason;
+import org.apache.plc4x.java.isotp.netty.model.types.ProtocolClass;
+import org.apache.plc4x.java.isotp.netty.model.types.RejectCause;
+import org.apache.plc4x.java.isotp.netty.model.types.TpduCode;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class IsotpModelTests {
+
+    @Test
+    @Tag("Fast")
+    void errorTpdu() {
+        short destinationReference = 0x1;
+        RejectCause rejectCause = RejectCause.REASON_NOT_SPECIFIED;
+        List<Parameter> parameters = Collections.emptyList();
+        ByteBuf userData = Unpooled.buffer();
+
+        userData.writeByte(0x7F);
+
+        ErrorTpdu tpdu = new ErrorTpdu(destinationReference, rejectCause, parameters, userData);
+
+        assertTrue(tpdu.getTpduCode() == TpduCode.TPDU_ERROR);
+        assertTrue(tpdu.getDestinationReference() == 0x1, "Unexpected destination reference");
+        assertTrue(tpdu.getRejectCause() == RejectCause.REASON_NOT_SPECIFIED);
+        assertTrue(tpdu.getParameters().isEmpty(), "Unexpected parameters");
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x7F, "Unexpected user data");
+    }
+
+    @Test
+    @Tag("Fast")
+    void dataTpdu() {
+        short destinationReference = 0x1;
+               List<Parameter> parameters = Collections.emptyList();
+        ByteBuf userData = Unpooled.buffer();
+
+        userData.writeByte(0x66);
+
+        DataTpdu tpdu = new DataTpdu(true, (byte) 0x7F, parameters, userData);
+
+        assertTrue(tpdu.getTpduCode() == TpduCode.DATA);
+        assertTrue(tpdu.isEot() == true, "Unexpected eot reference");
+        assertTrue(tpdu.getTpduRef() == 0x7F);
+        assertTrue(tpdu.getParameters().isEmpty(), "Unexpected parameters");
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x66, "Unexpected user data");
+    }
+
+    @Test
+    @Tag("Fast")
+    void connectionRequestTpdu() {
+        short destinationReference = 0x1;
+        short sourceReference = 0x2;
+        ProtocolClass protocolClass = ProtocolClass.CLASS_0;
+        List<Parameter> parameters = Collections.emptyList();
+        ByteBuf userData = Unpooled.buffer();
+
+        userData.writeByte(0x33);
+
+        ConnectionRequestTpdu tpdu = new ConnectionRequestTpdu(destinationReference, sourceReference, protocolClass, parameters, userData);
+
+        assertTrue(tpdu.getTpduCode() == TpduCode.CONNECTION_REQUEST);
+        assertTrue(tpdu.getDestinationReference() == 0x1, "Unexpected destination reference");
+        assertTrue(tpdu.getSourceReference() == 0x2, "Unexpected source reference");
+        assertTrue(tpdu.getProtocolClass() == ProtocolClass.CLASS_0);
+        assertTrue(tpdu.getParameters().isEmpty(), "Unexpected parameters");
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x33, "Unexpected user data");
+    }
+
+    @Test
+    @Tag("Fast")
+    void connectionConfirmTpdu() {
+        short destinationReference = 0x3;
+        short sourceReference = 0x4;
+        ProtocolClass protocolClass = ProtocolClass.CLASS_1;
+        List<Parameter> parameters = Collections.emptyList();
+        ByteBuf userData = Unpooled.buffer();
+
+        userData.writeByte(0x44);
+
+        ConnectionConfirmTpdu tpdu = new ConnectionConfirmTpdu(destinationReference, sourceReference, protocolClass, parameters, userData);
+
+        assertTrue(tpdu.getTpduCode() == TpduCode.CONNECTION_CONFIRM);
+        assertTrue(tpdu.getDestinationReference() == 0x3, "Unexpected destination reference");
+        assertTrue(tpdu.getSourceReference() == 0x4, "Unexpected source reference");
+        assertTrue(tpdu.getProtocolClass() == ProtocolClass.CLASS_1);
+        assertTrue(tpdu.getParameters().isEmpty(), "Unexpected parameters");
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x44, "Unexpected user data");
+    }
+
+    @Test
+    @Tag("Fast")
+    void disconnectionRequestTpdu() {
+        short destinationReference = 0x1;
+        short sourceReference = 0x2;
+        DisconnectReason disconnectReason = DisconnectReason.ADDRESS_UNKNOWN;
+        List<Parameter> parameters = Collections.emptyList();
+        ByteBuf userData = Unpooled.buffer();
+
+        userData.writeByte(0x22);
+
+        DisconnectRequestTpdu tpdu = new DisconnectRequestTpdu(destinationReference, sourceReference, disconnectReason, parameters, userData);
+
+        assertTrue(tpdu.getTpduCode() == TpduCode.DISCONNECT_REQUEST);
+        assertTrue(tpdu.getDestinationReference() == 0x1, "Unexpected destination reference");
+        assertTrue(tpdu.getSourceReference() == 0x2, "Unexpected source reference");
+        assertTrue(tpdu.getDisconnectReason() == DisconnectReason.ADDRESS_UNKNOWN);
+        assertTrue(tpdu.getParameters().isEmpty(), "Unexpected parameters");
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x22, "Unexpected user data");
+    }
+
+    @Test
+    @Tag("Fast")
+    void disconnectionConfirmTpdu() {
+        short destinationReference = 0x3;
+        short sourceReference = 0x4;
+        List<Parameter> parameters = Collections.emptyList();
+        ByteBuf userData = Unpooled.buffer();
+
+        userData.writeByte(0x11);
+
+        DisconnectConfirmTpdu tpdu = new DisconnectConfirmTpdu(destinationReference, sourceReference, parameters, userData);
+
+        assertTrue(tpdu.getTpduCode() == TpduCode.DISCONNECT_CONFIRM);
+        assertTrue(tpdu.getDestinationReference() == 0x3, "Unexpected destination reference");
+        assertTrue(tpdu.getSourceReference() == 0x4, "Unexpected source reference");
+        assertTrue(tpdu.getParameters().isEmpty(), "Unexpected parameters");
+        assertTrue(tpdu.getUserData().readByte() == (byte) 0x11, "Unexpected user data");
+    }
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/S7StateTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/S7StateTests.java
new file mode 100644
index 0000000..0b266ac
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/S7StateTests.java
@@ -0,0 +1,26 @@
+package org.apache.plc4x.java.netty.events;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7StateTests {
+
+    @Test
+    @Tag("fast")
+    void testInitialS7ConnectionEvent() {
+        S7ConnectionEvent s7event = new S7ConnectionEvent();
+
+        assertTrue(s7event.getState() == S7ConnectionState.INITIAL, "Initial state not initial");
+    }
+
+    @Test
+    @Tag("fast")
+    void testS7ConnectionEvent() {
+        S7ConnectionEvent s7event = new S7ConnectionEvent(S7ConnectionState.SETUP_COMPLETE);
+
+        assertTrue(s7event.getState() == S7ConnectionState.SETUP_COMPLETE, "State not correct");
+    }
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionTests.java
new file mode 100644
index 0000000..088d8fe
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionTests.java
@@ -0,0 +1,86 @@
+package org.apache.plc4x.java.s7.connection;
+
+import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
+import org.apache.plc4x.java.api.exceptions.PlcException;
+import org.apache.plc4x.java.api.model.Address;
+import org.apache.plc4x.java.s7.model.S7Address;
+import org.apache.plc4x.java.s7.model.S7BitAddress;
+import org.apache.plc4x.java.s7.model.S7DataBlockAddress;
+import org.apache.plc4x.java.s7.netty.model.types.MemoryArea;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7PlcConnectionTests {
+
+    private S7PlcConnection  s7PlcConnection;
+
+    @BeforeEach
+    void setUp() {
+        s7PlcConnection = new S7PlcConnection("localhost", 1, 2);
+    }
+
+    @AfterEach
+    void tearDown() {
+        s7PlcConnection = null;
+    }
+
+    @Test
+    void initialState() {
+        assertTrue(s7PlcConnection.getHostName().equalsIgnoreCase("localhost"), "Hostname is incorrect");
+        assertTrue(s7PlcConnection.getRack() == 1, "Rack is incorrect");
+        assertTrue(s7PlcConnection.getSlot() == 2, "Slot is incorrect");
+        assertTrue(s7PlcConnection.getPduSize() == 1024, "Pdu size is incorrect"); // Why is this hard coded?
+    }
+
+    @Test
+    void emptyParseAddress() {
+        try {
+            s7PlcConnection.parseAddress("");
+        }
+        catch (PlcException exception) {
+            assertTrue(exception.getMessage().startsWith("Address string doesn't match"), "Unexpected exception");
+        }
+    }
+
+    @Test
+    void parseDatablockAddress() {
+        try {
+            S7DataBlockAddress address = (S7DataBlockAddress) s7PlcConnection.parseAddress("DATA_BLOCKS/20/100");
+            assertTrue(address.getDataBlockNumber() == 20, "unexpected data block");
+            assertTrue(address.getByteOffset() == 100, "unexpected byte offset");
+        }
+        catch (PlcException exception) {
+            fail("valid data block address");
+        }
+    }
+
+    @Test
+    void parseAddressAddress() {
+        try {
+            S7Address address = (S7Address) s7PlcConnection.parseAddress("TIMERS/10");
+            assertTrue(address.getMemoryArea() == MemoryArea.TIMERS, "unexpected memory area");
+            assertTrue(address.getByteOffset() == 10, "unexpected byte offset");
+        }
+        catch (PlcException exception) {
+            fail("valid timer block address");
+        }
+    }
+
+    @Test
+    void parseAddressBitAddress() {
+        try {
+            S7BitAddress address = (S7BitAddress) s7PlcConnection.parseAddress("TIMERS/10/4");
+            assertTrue(address.getMemoryArea() == MemoryArea.TIMERS, "unexpected memory area");
+            assertTrue(address.getByteOffset() == 10, "unexpected byte offset");
+            assertTrue(address.getBitOffset() == 4, "unexpected but offset");
+        }
+        catch (PlcException exception) {
+            fail("valid timer block bit address");
+        }
+    }
+
+    // TODO more tests for connect, close, read and write
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/S7AddressTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/S7AddressTests.java
new file mode 100644
index 0000000..7970ef5
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/S7AddressTests.java
@@ -0,0 +1,42 @@
+package org.apache.plc4x.java.s7.model;
+
+import org.apache.plc4x.java.s7.netty.model.types.MemoryArea;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7AddressTests {
+
+    @Test
+    @Tag("fast")
+    void testS7Address() {
+        MemoryArea memoryArea = MemoryArea.DATA_BLOCKS;
+        S7Address s7Address = new S7Address(memoryArea, (short) 0x100);
+
+        assertTrue(s7Address.getMemoryArea() == MemoryArea.DATA_BLOCKS, "Wrong memory area");
+        assertTrue( s7Address.getByteOffset() == 0x100, "Memory area byte offset incorrect");
+    }
+
+    @Test
+    @Tag("fast")
+    void testS7BitAddress() {
+        MemoryArea memoryArea = MemoryArea.DATA_BLOCKS;
+        S7BitAddress s7Address = new S7BitAddress(memoryArea, (short) 0x50, (byte) 0x4);
+
+        assertTrue(s7Address.getMemoryArea() == MemoryArea.DATA_BLOCKS, "Wrong memory area");
+        assertTrue( s7Address.getByteOffset() == 0x50, "Memory area byte offset incorrect");
+        assertTrue( s7Address.getBitOffset() == 0x4, "Memory area bit offset incorrect");
+    }
+
+    @Test
+    @Tag("fast")
+    void testS7DatBlockAddress() {
+        S7DataBlockAddress s7Address = new S7DataBlockAddress((short) 1, (short) 0x50);
+
+        assertTrue(s7Address.getMemoryArea() == MemoryArea.DATA_BLOCKS, "Wrong memory area");
+        assertTrue(s7Address.getDataBlockNumber() == 1, "Memory block number incorrect");
+        assertTrue( s7Address.getByteOffset() == 0x50, "Memory area byte offset incorrect");
+    }
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java
new file mode 100644
index 0000000..1342555
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java
@@ -0,0 +1,62 @@
+package org.apache.plc4x.java.s7.netty.model.messages;
+
+import org.apache.plc4x.java.s7.netty.model.params.S7Parameter;
+import org.apache.plc4x.java.s7.netty.model.payloads.S7Payload;
+import org.apache.plc4x.java.s7.netty.model.types.MessageType;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7MessageTests {
+
+    @Test
+    @Tag("fast")
+    void setupCommunictionsRequestMessage() {
+        short tpduReference = 1;
+        short maxAmqCaller = 4;
+        short maxAmqCallee = 8;
+        short pduLength = 128;
+
+        SetupCommunicationRequestMessage setupMessage = new SetupCommunicationRequestMessage(tpduReference, maxAmqCaller, maxAmqCallee, pduLength);
+
+        assertTrue(setupMessage.getTpduReference() == tpduReference, "Unexpected tpdu value");
+        assertTrue(setupMessage.getMessageType() == MessageType.JOB, "Unexpected message type");
+    }
+
+    @Test
+    @Tag("fast")
+    void s7RequestMessage() {
+        MessageType messageType = MessageType.USER_DATA;
+        short tpduReference = 1;
+        ArrayList<S7Parameter> s7Parameters = null;
+        ArrayList<S7Payload> s7Payloads = null;
+
+        S7RequestMessage message = new S7RequestMessage(messageType, tpduReference, s7Parameters, s7Payloads);
+
+        assertTrue(message.getTpduReference() == tpduReference, "Unexpected tpdu value");
+        assertTrue(message.getMessageType() == MessageType.USER_DATA, "Unexpected message type");
+    }
+
+    @Test
+    @Tag("fast")
+    void s7ResponseMessage() {
+        MessageType messageType = MessageType.USER_DATA;
+        short tpduReference = 1;
+        ArrayList<S7Parameter> s7Parameters = null;
+        ArrayList<S7Payload> s7Payloads = null;
+        byte errorClass = 0x1;
+        byte errorCode = 0x23;
+
+        S7ResponseMessage message = new S7ResponseMessage(messageType, tpduReference, s7Parameters, s7Payloads, errorClass, errorCode);
+
+        assertTrue(message.getTpduReference() == tpduReference, "Unexpected tpdu value");
+        assertTrue(message.getMessageType() == MessageType.USER_DATA, "Unexpected message type");
+        assertTrue(message.getErrorClass() == 0x1, "Unexpected error class");
+        assertTrue(message.getErrorCode() == 0x23, "Unexpected error code");
+    }
+
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/S7ParameterTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/S7ParameterTests.java
new file mode 100644
index 0000000..7152335
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/S7ParameterTests.java
@@ -0,0 +1,62 @@
+package org.apache.plc4x.java.s7.netty.model.params;
+
+import org.apache.plc4x.java.s7.netty.model.params.items.S7AnyVarParameterItem;
+import org.apache.plc4x.java.s7.netty.model.params.items.VarParameterItem;
+import org.apache.plc4x.java.s7.netty.model.payloads.VarPayload;
+import org.apache.plc4x.java.s7.netty.model.types.MemoryArea;
+import org.apache.plc4x.java.s7.netty.model.types.ParameterType;
+import org.apache.plc4x.java.s7.netty.model.types.SpecificationType;
+import org.apache.plc4x.java.s7.netty.model.types.TransportSize;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7ParameterTests {
+
+    @Test
+    @Tag("fast")
+    void varParameter() {
+        ParameterType parameterType = ParameterType.READ_VAR;
+        ArrayList<VarParameterItem> parameterItems = new ArrayList<>();
+        SpecificationType specificationType = SpecificationType.VARIABLE_SPECIFICATION;
+        MemoryArea memoryArea = MemoryArea.DATA_BLOCKS;
+        TransportSize transportSize = TransportSize.INT;
+        short numElements = 1;
+        byte dataBlock = (byte) 0x1;
+        byte byteOffset = (byte) 0x10;
+        byte bitOffset = (byte) 0x0;
+
+        parameterItems.add(new S7AnyVarParameterItem(specificationType, memoryArea, transportSize, numElements, dataBlock, byteOffset, bitOffset));
+
+        VarParameter varParameter = new VarParameter(parameterType, parameterItems);
+        assertTrue(varParameter.getType() == ParameterType.READ_VAR, "Unexpected parameter type");
+        assertTrue(varParameter.getItems().containsAll(parameterItems), "Unexpected paramater items");
+    }
+
+    @Test
+    @Tag("fast")
+    void cpuServicesParameter() {
+        CpuServicesParameter cpuParameter = new CpuServicesParameter();
+        assertTrue(cpuParameter.getType() == ParameterType.CPU_SERVICES, "Unexpected parameter type");
+    }
+    
+    @Test
+    @Tag("fast")
+    void setupCommunicationsParameter() {
+        short maxAmqCaller = 4;
+        short maxAmqCallee = 8;
+        short pduLength = 512;
+
+        SetupCommunicationParameter setupParameter = new SetupCommunicationParameter(maxAmqCaller, maxAmqCallee, pduLength);
+        assertTrue(setupParameter.getType() == ParameterType.SETUP_COMMUNICATION, "Unexpected parameter type");
+        assertTrue(setupParameter.getMaxAmqCallee() == maxAmqCallee, "Unexpected value for maxAmqCallee");
+        assertTrue(setupParameter.getMaxAmqCaller() == maxAmqCaller, "Unexpected value for maxAmqCaller");
+        assertTrue(setupParameter.getPduLength() == pduLength, "Unexpected value for pduLength");
+    }
+
+
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/S7PayloadTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/S7PayloadTests.java
new file mode 100644
index 0000000..9167f82
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/S7PayloadTests.java
@@ -0,0 +1,44 @@
+package org.apache.plc4x.java.s7.netty.model.payloads;
+
+import org.apache.plc4x.java.s7.netty.model.payloads.items.VarPayloadItem;
+import org.apache.plc4x.java.s7.netty.model.types.DataTransportErrorCode;
+import org.apache.plc4x.java.s7.netty.model.types.DataTransportSize;
+import org.apache.plc4x.java.s7.netty.model.types.ParameterType;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7PayloadTests {
+
+    @Test
+    @Tag("fast")
+    void varPayloadItem() {
+        DataTransportErrorCode returnCode = DataTransportErrorCode.NOT_FOUND;
+        DataTransportSize dataTransportSize = DataTransportSize.INTEGER;
+        byte[] data = {(byte)0xFF};
+
+        VarPayloadItem  varPayloadItem = new VarPayloadItem(returnCode, dataTransportSize, data);
+        assertTrue(varPayloadItem.getReturnCode() == DataTransportErrorCode.NOT_FOUND, "Unexpected data transport error code");
+        assertTrue(varPayloadItem.getDataTransportSize() == DataTransportSize.INTEGER, "Unexpected data transport size");
+        assertTrue(varPayloadItem.getData()[0] == (byte) 0xFF, "Unexpected user data");
+    }
+
+    @Test
+    @Tag("fast")
+    void varPayload() {
+        ParameterType parameterType = ParameterType.DOWNLOAD_ENDED;
+        ArrayList<VarPayloadItem> payloadItems = new ArrayList<>();
+        byte[] data = {(byte)0xFF};
+        
+        payloadItems.add(new VarPayloadItem(DataTransportErrorCode.OK, DataTransportSize.BIT, data));
+
+        VarPayload  varPayload = new VarPayload(parameterType, payloadItems);
+        assertTrue(varPayload.getType() == ParameterType.DOWNLOAD_ENDED, "Unexpected parameter type");
+        assertTrue(varPayload.getPayloadItems().containsAll(payloadItems) , "Unexpected pay load items");
+    }
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java
new file mode 100644
index 0000000..c6cc44e
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java
@@ -0,0 +1,84 @@
+package org.apache.plc4x.java.s7.netty.model.types;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class S7TypeTests {
+
+    @Test
+    @Tag("fast")
+    void dataTransportErrorCode() {
+        DataTransportErrorCode dataTransportErrorCode = DataTransportErrorCode.INVALID_ADDRESS;
+
+        assertTrue(DataTransportErrorCode.valueOf((byte)5) == DataTransportErrorCode.INVALID_ADDRESS, "5 incorrectly mapped");
+        assertTrue(dataTransportErrorCode.getCode() == (byte)5, "code is not 5");
+    }
+
+    @Test
+    @Tag("fast")
+    void dataTransportSize() {
+        DataTransportSize dataTransportSize = DataTransportSize.DINTEGER;
+
+        assertTrue(DataTransportSize.valueOf((byte)6) == DataTransportSize.DINTEGER, "6 incorrectly mapped");
+        assertTrue(dataTransportSize.getCode() == (byte)6, "code is not 6");
+    }
+
+    @Test
+    @Tag("fast")
+    void headerErrorClass() {
+        //TODO missing valueOf
+    }
+
+    @Test
+    @Tag("fast")
+    void messageType() {
+        MessageType messageType = MessageType.ACK;
+
+        assertTrue(MessageType.valueOf((byte)2) == MessageType.ACK, "2 incorrectly mapped");
+        assertTrue(messageType.getCode() == (byte)2, "code is not 2");
+    }
+
+    @Test
+    @Tag("fast")
+    void parameterError() {
+        //TODO missing value of
+    }
+
+    @Test
+    @Tag("fast")
+    void parameterType() {
+        ParameterType parameterType = ParameterType.UPLOAD;
+
+        assertTrue(ParameterType.valueOf((byte)0x1E) == ParameterType.UPLOAD, "0x1E incorrectly mapped");
+        assertTrue(parameterType.getCode() == (byte)0x1E, "code is not 0x1E");
+    }
+
+    @Test
+    @Tag("fast")
+    void specificationType() {
+        SpecificationType specificationType = SpecificationType.VARIABLE_SPECIFICATION;
+
+        assertTrue(SpecificationType.valueOf((byte)0x12) == SpecificationType.VARIABLE_SPECIFICATION, "0x12 incorrectly mapped");
+        assertTrue(specificationType.getCode() == (byte)0x12, "code is not 0x12");
+    }
+
+    @Test
+    @Tag("fast")
+    void transportSize() {
+        TransportSize transportSize = TransportSize.TIME;
+
+        assertTrue(TransportSize.valueOf((byte)0x0B) == TransportSize.TIME, "0x0B incorrectly mapped");
+        assertTrue(transportSize.getCode() == (byte)0x0B, "code is not 0x0B");
+    }
+
+    @Test
+    @Tag("fast")
+    void variableAddressingMode() {
+        VariableAddressingMode variableAddressingMode = VariableAddressingMode.ALARM_ACK;
+
+        assertTrue(VariableAddressingMode.valueOf((byte)0x19) == VariableAddressingMode.ALARM_ACK, "0x19 incorrectly mapped");
+        assertTrue(variableAddressingMode.getCode() == (byte)0x19, "code is not 0x19");
+    }
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 07/10: No need for tests in name

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit 2a4d834267f20e62a168ffbf21c1e87442e03107
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:38:49 2017 +1100

    No need for tests in name
---
 .../s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java
index 54f1025..3eab098 100644
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java
@@ -34,7 +34,7 @@ public class S7PlcDriverTest {
     @Disabled("We first have to find/build some tool to help test these connections.")
     @Test
     @Tag("fast")
-    void getConnectionTest() throws PlcException {
+    void getConnection() throws PlcException {
         S7PlcConnection s7Connection = (S7PlcConnection)
             new PlcDriverManager().getConnection("s7://localhost/1/2");
         Assertions.assertEquals(s7Connection.getHostName(), "localhost");
@@ -49,7 +49,7 @@ public class S7PlcDriverTest {
      */
     @Test
     @Tag("fast")
-    void getConnectionInvalidUrlTest() throws PlcException {
+    void getConnectionInvalidUrl() throws PlcException {
         Assertions.assertThrows(PlcConnectionException.class,
             () -> new PlcDriverManager().getConnection("s7://localhost/hurz/2"));
     }
@@ -62,7 +62,7 @@ public class S7PlcDriverTest {
      */
     @Test
     @Tag("fast")
-    void getConnectionWithAuthenticationTest() throws PlcException {
+    void getConnectionWithAuthentication() throws PlcException {
         Assertions.assertThrows(PlcConnectionException.class,
             () -> new PlcDriverManager().getConnection("s7://localhost/1/2",
                 new PlcUsernamePasswordAuthentication("user", "pass")));

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 08/10: wrong constant value

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit a7ab5ee4bd82cdbcb3c2189e376d103d8e5b16cc
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:41:26 2017 +1100

    wrong constant value
---
 .../java/org/apache/plc4x/java/isotp/netty/model/tpdus/ErrorTpdu.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/tpdus/ErrorTpdu.java b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/tpdus/ErrorTpdu.java
index be4ac09..0851977 100644
--- a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/tpdus/ErrorTpdu.java
+++ b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/tpdus/ErrorTpdu.java
@@ -31,7 +31,7 @@ public class ErrorTpdu extends Tpdu {
     private final RejectCause rejectCause;
 
     public ErrorTpdu(short destinationReference, RejectCause rejectCause, List<Parameter> parameters, ByteBuf userData) {
-        super(TpduCode.CONNECTION_CONFIRM, parameters, userData);
+        super(TpduCode.TPDU_ERROR, parameters, userData);
         this.destinationReference = destinationReference;
         this.rejectCause = rejectCause;
     }

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 02/10: No need for tests in name

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit f1c94356c3300d5ba9842b77d26e03662a8e622f
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:33:37 2017 +1100

    No need for tests in name
---
 .../isotp/netty/model/types/IsotpTypeTests.java    | 153 +++++++++++++++++++++
 1 file changed, 153 insertions(+)

diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java
new file mode 100644
index 0000000..c12b143
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java
@@ -0,0 +1,153 @@
+package org.apache.plc4x.java.isotp.netty.model.types;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class IsotpTypeTests {
+
+    @Test
+    @Tag("fast")
+    void deviceGroup() {
+        DeviceGroup deviceGroup;
+
+        deviceGroup = DeviceGroup.PG_OR_PC;
+        assertTrue(deviceGroup == DeviceGroup.PG_OR_PC, "1 incorrectly mapped");
+        assertTrue(deviceGroup.getCode() == (byte)1, "code is not 1");
+
+        deviceGroup = DeviceGroup.OS;
+        assertTrue(deviceGroup == DeviceGroup.OS, "2 incorrectly mapped");
+        assertTrue(deviceGroup.getCode() == (byte)2, "code is not 2");
+
+        deviceGroup = DeviceGroup.OTHERS;
+        assertTrue(deviceGroup == DeviceGroup.OTHERS, "3 incorrectly mapped");
+        assertTrue(deviceGroup.getCode() == (byte)3, "code is not 3");
+    }
+
+    @Test
+    @Tag("fast")
+    void deviceGroupUnknown() {
+        DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0x40);
+
+        assertNull(deviceGroup, "expected device group to be null");
+    }
+
+
+    @Test
+    @Tag("fast")
+    void disconnectReason() {
+        DisconnectReason disconnectReason = DisconnectReason.ADDRESS_UNKNOWN;
+
+        assertTrue(DisconnectReason.valueOf((byte)3) == DisconnectReason.ADDRESS_UNKNOWN, "3 incorrectly mapped");
+        assertTrue(disconnectReason.getCode() == (byte)3, "code is not 3");
+    }
+
+    @Test
+    @Tag("fast")
+    void diosconectReasonUnknown() {
+        DisconnectReason disconnectReason = DisconnectReason.valueOf((byte)4);
+
+        assertNull(disconnectReason, "expected disconnect reason to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void parameterCode() {
+        ParameterCode parameterCode = ParameterCode.CALLING_TSAP;
+
+        assertTrue(ParameterCode.valueOf((byte)0xC1) == ParameterCode.CALLING_TSAP, "0xC1 incorrectly mapped");
+        assertTrue(parameterCode.getCode() == (byte)0xC1, "code is not 0xC1");
+    }
+
+    @Test
+    @Tag("fast")
+    void parameterCodeUnknown() {
+        ParameterCode parameterCode = ParameterCode.valueOf((byte)0x90);
+
+        assertNull(parameterCode, "expected parameter code to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void protocolClass() {
+        ProtocolClass protocolClass;
+
+        protocolClass = ProtocolClass.CLASS_1;
+        assertTrue(protocolClass == ProtocolClass.CLASS_1, "0x10 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x10, "code is not 0x10");
+
+        protocolClass = ProtocolClass.CLASS_2;
+        assertTrue(protocolClass == ProtocolClass.CLASS_2, "0x20 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x20, "code is not 0x20");
+
+        protocolClass = ProtocolClass.CLASS_3;
+        assertTrue(protocolClass == ProtocolClass.CLASS_3, "0x30 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x30, "code is not 0x30");
+
+        protocolClass = ProtocolClass.CLASS_4;
+        assertTrue(protocolClass == ProtocolClass.CLASS_4, "0x40 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x40, "code is not 0x40");
+    }
+
+    @Test
+    @Tag("fast")
+    void protocolClassUnknown() {
+        ProtocolClass protocolClass = ProtocolClass.valueOf((byte)0x50);
+
+        assertNull(protocolClass, "expected protocol class to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void rejectCause() {
+        RejectCause rejectCause = RejectCause.INVALID_PARAMETER_TYPE;
+
+        assertTrue(RejectCause.valueOf((byte)0x03) == RejectCause.INVALID_PARAMETER_TYPE, "0x03 incorrectly mapped");
+        assertTrue(rejectCause.getCode() == (byte)0x03, "code is not 0x03");
+    }
+
+    @Test
+    @Tag("fast")
+    void rejectClauseUnknown() {
+        RejectCause rejectCause = RejectCause.valueOf((byte)0x90);
+
+        assertNull(rejectCause, "expected reject cause to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduCode() {
+        TpduCode tpduCode = TpduCode.DATA;
+
+        assertTrue(TpduCode.valueOf((byte)0xF0) == TpduCode.DATA, "0xF0 incorrectly mapped");
+        assertTrue(tpduCode.getCode() == (byte)0xF0, "code is not 0xF0");
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduCodeUnknown() {
+        TpduCode tpduCode = TpduCode.valueOf((byte)0x01);
+
+        assertNull(tpduCode, "expected tpdu code to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void typduSize() {
+        TpduSize tpduSize = TpduSize.SIZE_128;
+
+        assertTrue(TpduSize.valueOf((byte)0x07) == TpduSize.SIZE_128, "0x07 incorrectly mapped");
+        assertTrue(tpduSize.getCode() == (byte)0x07, "code is not 0x07");
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduSizeUnknown() {
+        TpduSize tpduSize = TpduSize.valueOf((byte)0x06);
+
+        assertNull(tpduSize, "expected tpdu size to be null");
+    }
+
+
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 03/10: renamed

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit f16934ea0e7b3b8c9cbc690221810f7abeee97d2
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:34:27 2017 +1100

    renamed
---
 .../java/isotp/netty/model/types/TypeTests.java    | 153 ---------------------
 1 file changed, 153 deletions(-)

diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/TypeTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/TypeTests.java
deleted file mode 100644
index f920854..0000000
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/TypeTests.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.apache.plc4x.java.isotp.netty.model.types;
-
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class TypeTests {
-
-    @Test
-    @Tag("fast")
-    void deviceGroupTest() {
-        DeviceGroup deviceGroup;
-
-        deviceGroup = DeviceGroup.valueOf((byte)1);
-        assertTrue(deviceGroup == DeviceGroup.PG_OR_PC, "1 incorrectly mapped");
-        assertTrue(deviceGroup.getCode() == (byte)1, "code is not 1");
-
-        deviceGroup = DeviceGroup.valueOf((byte)2);
-        assertTrue(deviceGroup == DeviceGroup.OS, "2 incorrectly mapped");
-        assertTrue(deviceGroup.getCode() == (byte)2, "code is not 2");
-
-        deviceGroup = DeviceGroup.valueOf((byte)3);
-        assertTrue(deviceGroup == DeviceGroup.OTHERS, "3 incorrectly mapped");
-        assertTrue(deviceGroup.getCode() == (byte)3, "code is not 3");
-    }
-
-    @Test
-    @Tag("fast")
-    void deviceGroupUnknownTest() {
-        DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0x40);
-
-        assertNull(deviceGroup, "expected device group to be null");
-    }
-
-
-    @Test
-    @Tag("fast")
-    void disconnectReasonTest() {
-        DisconnectReason disconnectReason = DisconnectReason.valueOf((byte)3);
-
-        assertTrue(DisconnectReason.valueOf((byte)3) == DisconnectReason.ADDRESS_UNKNOWN, "3 incorrectly mapped");
-        assertTrue(disconnectReason.getCode() == (byte)3, "code is not 3");
-    }
-
-    @Test
-    @Tag("fast")
-    void diosconectReasonUnknownTest() {
-        DisconnectReason disconnectReason = DisconnectReason.valueOf((byte)4);
-
-        assertNull(disconnectReason, "expected disconnect reason to be null");
-    }
-
-    @Test
-    @Tag("fast")
-    void parameterCodeTest() {
-        ParameterCode parameterCode = ParameterCode.valueOf((byte)0xC1);
-
-        assertTrue(ParameterCode.valueOf((byte)0xC1) == ParameterCode.CALLING_TSAP, "0xC1 incorrectly mapped");
-        assertTrue(parameterCode.getCode() == (byte)0xC1, "code is not 0xC1");
-    }
-
-    @Test
-    @Tag("fast")
-    void parameterCodeUnknownTest() {
-        ParameterCode parameterCode = ParameterCode.valueOf((byte)0x90);
-
-        assertNull(parameterCode, "expected parameter code to be null");
-    }
-
-    @Test
-    @Tag("fast")
-    void protocolClassTest() {
-        ProtocolClass protocolClass;
-
-        protocolClass = ProtocolClass.valueOf((byte)0x10);
-        assertTrue(protocolClass == ProtocolClass.CLASS_1, "0x10 incorrectly mapped");
-        assertTrue(protocolClass.getCode() == (byte)0x10, "code is not 0x10");
-
-        protocolClass = ProtocolClass.valueOf((byte)0x20);
-        assertTrue(protocolClass == ProtocolClass.CLASS_2, "0x20 incorrectly mapped");
-        assertTrue(protocolClass.getCode() == (byte)0x20, "code is not 0x20");
-
-        protocolClass = ProtocolClass.valueOf((byte)0x30);
-        assertTrue(protocolClass == ProtocolClass.CLASS_3, "0x30 incorrectly mapped");
-        assertTrue(protocolClass.getCode() == (byte)0x30, "code is not 0x30");
-
-        protocolClass = ProtocolClass.valueOf((byte)0x40);
-        assertTrue(protocolClass == ProtocolClass.CLASS_4, "0x40 incorrectly mapped");
-        assertTrue(protocolClass.getCode() == (byte)0x40, "code is not 0x40");
-    }
-
-    @Test
-    @Tag("fast")
-    void protocolClassUnknownTest() {
-        ProtocolClass protocolClass = ProtocolClass.valueOf((byte)0x50);
-
-        assertNull(protocolClass, "expected protocol class to be null");
-    }
-
-    @Test
-    @Tag("fast")
-    void rejectCauseTest() {
-        RejectCause rejectCause = RejectCause.valueOf((byte)0x03);
-
-        assertTrue(RejectCause.valueOf((byte)0x03) == RejectCause.INVALID_PARAMETER_TYPE, "0x03 incorrectly mapped");
-        assertTrue(rejectCause.getCode() == (byte)0x03, "code is not 0x03");
-    }
-
-    @Test
-    @Tag("fast")
-    void rejectClauseUnknownTest() {
-        RejectCause rejectCause = RejectCause.valueOf((byte)0x90);
-
-        assertNull(rejectCause, "expected reject cause to be null");
-    }
-
-    @Test
-    @Tag("fast")
-    void tpduCodeTest() {
-        TpduCode tpduCode = TpduCode.valueOf((byte)0xF0);
-
-        assertTrue(TpduCode.valueOf((byte)0xF0) == TpduCode.DATA, "0xF0 incorrectly mapped");
-        assertTrue(tpduCode.getCode() == (byte)0xF0, "code is not 0xF0");
-    }
-
-    @Test
-    @Tag("fast")
-    void tpduCodeUnknownTest() {
-        TpduCode tpduCode = TpduCode.valueOf((byte)0x01);
-
-        assertNull(tpduCode, "expected tpdu code to be null");
-    }
-
-    @Test
-    @Tag("fast")
-    void typduSizeTest() {
-        TpduSize tpduSize = TpduSize.valueOf((byte)0x07);
-
-        assertTrue(TpduSize.valueOf((byte)0x07) == TpduSize.SIZE_128, "0x07 incorrectly mapped");
-        assertTrue(tpduSize.getCode() == (byte)0x07, "code is not 0x07");
-    }
-
-    @Test
-    @Tag("fast")
-    void tpduSizeUnknownTest() {
-        TpduSize tpduSize = TpduSize.valueOf((byte)0x06);
-
-        assertNull(tpduSize, "expected tpdu size to be null");
-    }
-
-
-}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 04/10: No need for tests in name

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit af79c42b2126ca522bb324156599866edf903e93
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:36:06 2017 +1100

    No need for tests in name
---
 .../plc4x/java/isotp/netty/model/params/TsapParameterTests.java       | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java
index 8f3cdbd..e62b03d 100644
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java
@@ -20,7 +20,7 @@ class TsapParameterTests {
 
     @Test
     @Tag("fast")
-    void calledPartameterTest() {
+    void calledPartameter() {
         DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0);
         tsapParameter = new CalledTsapParameter(deviceGroup, (byte)1, (byte)4);
 
@@ -32,7 +32,7 @@ class TsapParameterTests {
 
     @Test
     @Tag("fast")
-    void callingPartameterTest() {
+    void callingPartameter() {
         DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0);
         tsapParameter = new CallingTsapParameter(deviceGroup, (byte)2, (byte)5);
 

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 06/10: No need for tests in name

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit c6edbde8b70562fbeecf70d608ede8939f9ad4c0
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:38:16 2017 +1100

    No need for tests in name
---
 .../apache/plc4x/java/isotp/netty/model/params/ParameterTests.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java
index 66c6e88..b517b5c 100644
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java
@@ -21,7 +21,7 @@ class ParameterTest {
 
     @Test
     @Tag("fast")
-    void checksumPartameterTest() {
+    void checksumPartameter() {
         ChecksumParameter checksumParameter = new ChecksumParameter((byte)1);
 
         assertTrue(checksumParameter.getChecksum() == (byte)1, "Checksum incorrect");
@@ -30,7 +30,7 @@ class ParameterTest {
 
     @Test
     @Tag("fast")
-    void disconnectAdditionalInformationParameterTest() {
+    void disconnectAdditionalInformationParameter() {
         byte[] data = {(byte)1, (byte)2};
         DisconnectAdditionalInformationParameter disconnectParameter = new DisconnectAdditionalInformationParameter(data);
 
@@ -41,7 +41,7 @@ class ParameterTest {
 
     @Test
     @Tag("fast")
-    void tpduSizeParameterTest() {
+    void tpduSizeParameter() {
         TpduSizeParameter tpduSizeParameter = new TpduSizeParameter(TpduSize.SIZE_512);
 
         assertTrue(tpduSizeParameter.getTpduSize() == TpduSize.SIZE_512, "Tpdu size incorrect");

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 09/10: fix failing test

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit ad6bf6fcbfb7ae9ac35ab09dbaae14e275cc505d
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:42:40 2017 +1100

    fix failing test
---
 .../java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
index 4115e56..d4c06b2 100644
--- a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
+++ b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
@@ -186,9 +186,9 @@ public class S7PlcConnection extends AbstractPlcConnection implements PlcReader,
         }
         MemoryArea memoryArea = MemoryArea.valueOf(addressMatcher.group("memoryArea"));
         int byteOffset = Integer.valueOf(addressMatcher.group("byteOffset"));
-        if (addressMatcher.groupCount() >= 4) {
-            int bitOffset = Integer.valueOf(addressMatcher.group("bitOffset"));
-            return new S7BitAddress(memoryArea, (short) byteOffset, (byte) bitOffset);
+        String bitOffset =  addressMatcher.group("bitOffset");
+        if (bitOffset != null) {
+            return new S7BitAddress(memoryArea, (short) byteOffset, Byte.valueOf(bitOffset));
         }
         return new S7Address(memoryArea, (short) byteOffset);
     }

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 10/10: Merge branch 'master' of https://gitbox.apache.org/repos/asf/incubator-plc4x

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit 3e89712b6d7936670d58a1a4259d29b7ba7c1c86
Merge: ad6bf6f 318d321
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Wed Dec 27 15:44:25 2017 +1100

    Merge branch 'master' of https://gitbox.apache.org/repos/asf/incubator-plc4x

 pom.xml                                         |   20 +-
 src/remote-resources/NOTICE                     |   26 +
 src/site/asciidoc/development/building.adoc     |   21 +
 src/site/asciidoc/development/ci.adoc           |   19 +
 src/site/asciidoc/development/contributing.adoc |   19 +
 src/site/asciidoc/development/website.adoc      |    4 +-
 src/site/site.xml                               |    6 +
 src/site/template/maven-site.vm                 | 1786 +++++++++++++++++++++++
 8 files changed, 1897 insertions(+), 4 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.

[incubator-plc4x] 01/10: add some simple unit tests

Posted by jm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit b10875b0520aab13046b42ec7fb1afc0b67009a7
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Sun Dec 24 14:47:27 2017 +1100

    add some simple unit tests
---
 .../isotp/netty/model/params/ParameterTests.java   |  50 +++++++
 .../netty/model/params/TsapParameterTests.java     |  45 ++++++
 .../java/isotp/netty/model/types/TypeTests.java    | 153 +++++++++++++++++++++
 3 files changed, 248 insertions(+)

diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java
new file mode 100644
index 0000000..66c6e88
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java
@@ -0,0 +1,50 @@
+package org.apache.plc4x.java.isotp.netty.model.params;
+
+import org.apache.plc4x.java.isotp.netty.model.types.DeviceGroup;
+import org.apache.plc4x.java.isotp.netty.model.types.ParameterCode;
+import org.apache.plc4x.java.isotp.netty.model.types.TpduSize;
+import org.junit.jupiter.api.*;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ParameterTest {
+    private ParameterTest tsapParaameter;
+
+    @BeforeEach
+    void setUp() {
+    }
+
+    @AfterEach
+    void tearDown() {
+        tsapParaameter = null;
+    }
+
+    @Test
+    @Tag("fast")
+    void checksumPartameterTest() {
+        ChecksumParameter checksumParameter = new ChecksumParameter((byte)1);
+
+        assertTrue(checksumParameter.getChecksum() == (byte)1, "Checksum incorrect");
+        assertTrue(checksumParameter.getType() == ParameterCode.CHECKSUM);
+    }
+
+    @Test
+    @Tag("fast")
+    void disconnectAdditionalInformationParameterTest() {
+        byte[] data = {(byte)1, (byte)2};
+        DisconnectAdditionalInformationParameter disconnectParameter = new DisconnectAdditionalInformationParameter(data);
+
+        assertTrue(disconnectParameter.getData()[0] == (byte)1, "Return parameter incorrect");
+        assertTrue(disconnectParameter.getData()[1] == (byte)2, "Return parameter incorrect");
+        assertTrue(disconnectParameter.getType() == ParameterCode.DISCONNECT_ADDITIONAL_INFORMATION);
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduSizeParameterTest() {
+        TpduSizeParameter tpduSizeParameter = new TpduSizeParameter(TpduSize.SIZE_512);
+
+        assertTrue(tpduSizeParameter.getTpduSize() == TpduSize.SIZE_512, "Tpdu size incorrect");
+        assertTrue(tpduSizeParameter.getType() == ParameterCode.TPDU_SIZE);
+    }
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java
new file mode 100644
index 0000000..8f3cdbd
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java
@@ -0,0 +1,45 @@
+package org.apache.plc4x.java.isotp.netty.model.params;
+
+import org.apache.plc4x.java.isotp.netty.model.types.DeviceGroup;
+import org.apache.plc4x.java.isotp.netty.model.types.ParameterCode;
+import org.junit.jupiter.api.*;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class TsapParameterTests {
+    private TsapParameter tsapParameter;
+
+    @BeforeEach
+    void setUp() {
+    }
+
+    @AfterEach
+    void tearDown() {
+        tsapParameter = null;
+    }
+
+    @Test
+    @Tag("fast")
+    void calledPartameterTest() {
+        DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0);
+        tsapParameter = new CalledTsapParameter(deviceGroup, (byte)1, (byte)4);
+
+        assertTrue(tsapParameter.getDeviceGroup() == DeviceGroup.valueOf((byte)0), "Device group incorrect");
+        assertTrue(tsapParameter.getRackNumber() == (byte)1, "Rack number not correct");
+        assertTrue(tsapParameter.getSlotNumber() == (byte)4, "Slot number not coorect");
+        assertTrue(tsapParameter.getType() == ParameterCode.CALLED_TSAP);
+    }
+
+    @Test
+    @Tag("fast")
+    void callingPartameterTest() {
+        DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0);
+        tsapParameter = new CallingTsapParameter(deviceGroup, (byte)2, (byte)5);
+
+        assertTrue(tsapParameter.getDeviceGroup() == DeviceGroup.valueOf((byte)0), "Device group incorrect");
+        assertTrue(tsapParameter.getRackNumber() == (byte)2, "Rack number not correct");
+        assertTrue(tsapParameter.getSlotNumber() == (byte)5, "Slot number not coorect");
+        assertTrue(tsapParameter.getType() == ParameterCode.CALLING_TSAP);
+    }
+
+}
\ No newline at end of file
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/TypeTests.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/TypeTests.java
new file mode 100644
index 0000000..f920854
--- /dev/null
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/TypeTests.java
@@ -0,0 +1,153 @@
+package org.apache.plc4x.java.isotp.netty.model.types;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class TypeTests {
+
+    @Test
+    @Tag("fast")
+    void deviceGroupTest() {
+        DeviceGroup deviceGroup;
+
+        deviceGroup = DeviceGroup.valueOf((byte)1);
+        assertTrue(deviceGroup == DeviceGroup.PG_OR_PC, "1 incorrectly mapped");
+        assertTrue(deviceGroup.getCode() == (byte)1, "code is not 1");
+
+        deviceGroup = DeviceGroup.valueOf((byte)2);
+        assertTrue(deviceGroup == DeviceGroup.OS, "2 incorrectly mapped");
+        assertTrue(deviceGroup.getCode() == (byte)2, "code is not 2");
+
+        deviceGroup = DeviceGroup.valueOf((byte)3);
+        assertTrue(deviceGroup == DeviceGroup.OTHERS, "3 incorrectly mapped");
+        assertTrue(deviceGroup.getCode() == (byte)3, "code is not 3");
+    }
+
+    @Test
+    @Tag("fast")
+    void deviceGroupUnknownTest() {
+        DeviceGroup deviceGroup = DeviceGroup.valueOf((byte)0x40);
+
+        assertNull(deviceGroup, "expected device group to be null");
+    }
+
+
+    @Test
+    @Tag("fast")
+    void disconnectReasonTest() {
+        DisconnectReason disconnectReason = DisconnectReason.valueOf((byte)3);
+
+        assertTrue(DisconnectReason.valueOf((byte)3) == DisconnectReason.ADDRESS_UNKNOWN, "3 incorrectly mapped");
+        assertTrue(disconnectReason.getCode() == (byte)3, "code is not 3");
+    }
+
+    @Test
+    @Tag("fast")
+    void diosconectReasonUnknownTest() {
+        DisconnectReason disconnectReason = DisconnectReason.valueOf((byte)4);
+
+        assertNull(disconnectReason, "expected disconnect reason to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void parameterCodeTest() {
+        ParameterCode parameterCode = ParameterCode.valueOf((byte)0xC1);
+
+        assertTrue(ParameterCode.valueOf((byte)0xC1) == ParameterCode.CALLING_TSAP, "0xC1 incorrectly mapped");
+        assertTrue(parameterCode.getCode() == (byte)0xC1, "code is not 0xC1");
+    }
+
+    @Test
+    @Tag("fast")
+    void parameterCodeUnknownTest() {
+        ParameterCode parameterCode = ParameterCode.valueOf((byte)0x90);
+
+        assertNull(parameterCode, "expected parameter code to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void protocolClassTest() {
+        ProtocolClass protocolClass;
+
+        protocolClass = ProtocolClass.valueOf((byte)0x10);
+        assertTrue(protocolClass == ProtocolClass.CLASS_1, "0x10 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x10, "code is not 0x10");
+
+        protocolClass = ProtocolClass.valueOf((byte)0x20);
+        assertTrue(protocolClass == ProtocolClass.CLASS_2, "0x20 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x20, "code is not 0x20");
+
+        protocolClass = ProtocolClass.valueOf((byte)0x30);
+        assertTrue(protocolClass == ProtocolClass.CLASS_3, "0x30 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x30, "code is not 0x30");
+
+        protocolClass = ProtocolClass.valueOf((byte)0x40);
+        assertTrue(protocolClass == ProtocolClass.CLASS_4, "0x40 incorrectly mapped");
+        assertTrue(protocolClass.getCode() == (byte)0x40, "code is not 0x40");
+    }
+
+    @Test
+    @Tag("fast")
+    void protocolClassUnknownTest() {
+        ProtocolClass protocolClass = ProtocolClass.valueOf((byte)0x50);
+
+        assertNull(protocolClass, "expected protocol class to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void rejectCauseTest() {
+        RejectCause rejectCause = RejectCause.valueOf((byte)0x03);
+
+        assertTrue(RejectCause.valueOf((byte)0x03) == RejectCause.INVALID_PARAMETER_TYPE, "0x03 incorrectly mapped");
+        assertTrue(rejectCause.getCode() == (byte)0x03, "code is not 0x03");
+    }
+
+    @Test
+    @Tag("fast")
+    void rejectClauseUnknownTest() {
+        RejectCause rejectCause = RejectCause.valueOf((byte)0x90);
+
+        assertNull(rejectCause, "expected reject cause to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduCodeTest() {
+        TpduCode tpduCode = TpduCode.valueOf((byte)0xF0);
+
+        assertTrue(TpduCode.valueOf((byte)0xF0) == TpduCode.DATA, "0xF0 incorrectly mapped");
+        assertTrue(tpduCode.getCode() == (byte)0xF0, "code is not 0xF0");
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduCodeUnknownTest() {
+        TpduCode tpduCode = TpduCode.valueOf((byte)0x01);
+
+        assertNull(tpduCode, "expected tpdu code to be null");
+    }
+
+    @Test
+    @Tag("fast")
+    void typduSizeTest() {
+        TpduSize tpduSize = TpduSize.valueOf((byte)0x07);
+
+        assertTrue(TpduSize.valueOf((byte)0x07) == TpduSize.SIZE_128, "0x07 incorrectly mapped");
+        assertTrue(tpduSize.getCode() == (byte)0x07, "code is not 0x07");
+    }
+
+    @Test
+    @Tag("fast")
+    void tpduSizeUnknownTest() {
+        TpduSize tpduSize = TpduSize.valueOf((byte)0x06);
+
+        assertNull(tpduSize, "expected tpdu size to be null");
+    }
+
+
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.