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 <sru...@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" <commits@plc4x.apache.org>'].