You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2018/01/04 12:28:53 UTC
[incubator-plc4x] branch refactoring/java_generify updated: added
basic test implementation for S7Protocol
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch refactoring/java_generify
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/refactoring/java_generify by this push:
new 88a32d3 added basic test implementation for S7Protocol
88a32d3 is described below
commit 88a32d39f1f0030a0b6a54cb6216b76b1d6605dd
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jan 4 13:28:45 2018 +0100
added basic test implementation for S7Protocol
---
.../apache/plc4x/java/s7/netty/S7ProtocolTest.java | 62 ++++++++++++++++++++--
1 file changed, 58 insertions(+), 4 deletions(-)
diff --git a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
index affd823..13b3b4c 100644
--- a/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
+++ b/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java
@@ -18,22 +18,76 @@ under the License.
*/
package org.apache.plc4x.java.s7.netty;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import org.apache.plc4x.java.isotp.netty.model.IsoTPMessage;
+import org.apache.plc4x.java.isotp.netty.model.tpdus.Tpdu;
import org.apache.plc4x.java.netty.NettyTestBase;
+import org.apache.plc4x.java.s7.netty.model.messages.S7RequestMessage;
+import org.apache.plc4x.java.s7.netty.model.params.VarParameter;
+import org.apache.plc4x.java.s7.netty.model.params.items.S7AnyVarParameterItem;
+import org.apache.plc4x.java.s7.netty.model.payloads.VarPayload;
+import org.apache.plc4x.java.s7.netty.model.payloads.items.VarPayloadItem;
+import org.apache.plc4x.java.s7.netty.model.types.*;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import java.util.LinkedList;
+
+import static java.util.Collections.singletonList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+
public class S7ProtocolTest extends NettyTestBase {
+ private S7Protocol SUT;
+
+ @BeforeEach
+ void setUp() {
+ SUT = new S7Protocol((short) 1, (short) 1, (short) 1);
+ }
+
@Test
@Tag("fast")
- public void encode() {
- //TODO: implement me
+ public void encode() throws Exception {
+ //TODO: finish me
+ LinkedList<Object> out = new LinkedList<>();
+ SUT.encode(null, new S7RequestMessage(
+ MessageType.ACK,
+ (short) 1,
+ singletonList(new VarParameter(ParameterType.WRITE_VAR, singletonList(new S7AnyVarParameterItem(
+ SpecificationType.VARIABLE_SPECIFICATION, MemoryArea.DATA_BLOCKS, TransportSize.BIT, (short) 1, (short) 1, (short) 1, (byte) 1
+ )))),
+ singletonList(new VarPayload(
+ ParameterType.WRITE_VAR,
+ singletonList(new VarPayloadItem(
+ DataTransportErrorCode.OK,
+ DataTransportSize.BYTE_WORD_DWORD, new byte[]{0})
+ ))
+ )), out);
+ assertThat(out).hasSize(1);
}
@Test
@Tag("fast")
- public void decode() {
- //TODO: implement me
+ public void decode() throws Exception {
+ //TODO: finish me
+ LinkedList<Object> out = new LinkedList<>();
+ ByteBuf buffer = Unpooled.buffer();
+ // Magic Number
+ buffer.writeByte(0x32);
+ buffer.writeByte(MessageType.JOB.getCode());
+ // Reserved magic value
+ buffer.writeShort(0x0000);
+ // tpduReference
+ buffer.writeShort(0x0000);
+ // headerParametersLength
+ buffer.writeShort(0x0000);
+ // userDataLength
+ buffer.writeShort(0x0000);
+ SUT.decode(null, new IsoTPMessage(mock(Tpdu.class), buffer), out);
+ assertThat(out).hasSize(1);
}
}
--
To stop receiving notification emails like this one, please contact
['"commits@plc4x.apache.org" <co...@plc4x.apache.org>'].