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/02/15 16:46:32 UTC
[incubator-plc4x] 02/02: post merge junit 4 migration
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch feature/Beckhoff_ADS_protocol
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 6635fa77b43a10c44a9fa3c5eb50684a2c52aca3
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Feb 15 17:46:25 2018 +0100
post merge junit 4 migration
---
.../java/ads/connection/ADSPlcConnection.java | 8 +++
.../apache/plc4x/java/ads/ADSPlcDriverTest.java | 38 +++++--------
.../java/ads/api/commands/types/LengthTest.java | 28 ++++-----
.../ads/api/commands/types/ReadLengthTest.java | 30 +++++-----
.../ads/api/commands/types/SampleSizeTest.java | 29 +++++-----
.../java/ads/api/commands/types/SamplesTest.java | 28 ++++-----
.../ads/api/commands/types/WriteLengthTest.java | 29 +++++-----
.../java/ads/api/generic/types/AMSPortTest.java | 29 +++++-----
.../java/ads/api/generic/types/DataLengthTest.java | 28 ++++-----
.../java/ads/api/generic/types/LengthTest.java | 29 +++++-----
.../java/ads/connection/ADSPlcConnectionTests.java | 28 ++++-----
...ndWithTcpHexDumper.java => Junit5Backport.java} | 33 +++++------
.../apache/plc4x/java/ads/util/TcpHexDumper.java | 66 +++++++---------------
13 files changed, 195 insertions(+), 208 deletions(-)
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
index ef584c0..3e6c9ce 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
@@ -57,6 +57,7 @@ public class ADSPlcConnection extends AbstractPlcConnection implements PlcReader
private EventLoopGroup workerGroup;
private Channel channel;
+ private boolean connected;
public ADSPlcConnection(String hostName, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
this(hostName, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
@@ -78,6 +79,7 @@ public class ADSPlcConnection extends AbstractPlcConnection implements PlcReader
this.targetAmsPort = targetAmsPort;
this.sourceAmsNetId = sourceAmsNetId;
this.sourceAmsPort = sourceAmsPort;
+ connected = false;
}
public String getHostName() {
@@ -126,6 +128,7 @@ public class ADSPlcConnection extends AbstractPlcConnection implements PlcReader
f.awaitUninterruptibly();
// Wait till the session is finished initializing.
channel = f.channel();
+ connected = true;
} catch (UnknownHostException e) {
throw new PlcConnectionException("Unknown Host " + hostName, e);
} catch (InterruptedException e) {
@@ -135,6 +138,11 @@ public class ADSPlcConnection extends AbstractPlcConnection implements PlcReader
}
@Override
+ public boolean isConnected() {
+ return connected;
+ }
+
+ @Override
public void close() throws Exception {
workerGroup.shutdownGracefully();
}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java
index ae19173..f62376a 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java
@@ -21,34 +21,27 @@ package org.apache.plc4x.java.ads;
import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.ads.connection.ADSPlcConnection;
-import org.apache.plc4x.java.ads.util.ExtendWithTcpHexDumper;
+import org.apache.plc4x.java.ads.util.TcpHexDumper;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcException;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.junit.Rule;
+import org.junit.Test;
-@ExtendWithTcpHexDumper(shutdownTimeout = 3)
-public class ADSPlcDriverTest {
-
- private static final Logger logger = LoggerFactory.getLogger(ADSPlcDriverTest.class);
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
- int usedPort;
+public class ADSPlcDriverTest {
- ADSPlcDriverTest(int port) {
- usedPort = port;
- }
+ @Rule
+ public TcpHexDumper tcpHexDumper = new TcpHexDumper(0);
@Test
- @Tag("fast")
- void getConnection() throws Exception {
+ public void getConnection() throws Exception {
ADSPlcConnection adsConnection = (ADSPlcConnection)
- new PlcDriverManager().getConnection("ads://localhost:" + usedPort + "/0.0.0.0.0.0:13");
- Assertions.assertEquals(adsConnection.getHostName(), "localhost");
- Assertions.assertEquals(adsConnection.getTargetAmsNetId().toString(), "0.0.0.0.0.0");
- Assertions.assertEquals(adsConnection.getTargetAmsPort().toString(), "13");
+ new PlcDriverManager().getConnection("ads://localhost:" + tcpHexDumper.getPort() + "/0.0.0.0.0.0:13");
+ assertEquals(adsConnection.getHostName(), "localhost");
+ assertEquals(adsConnection.getTargetAmsNetId().toString(), "0.0.0.0.0.0");
+ assertEquals(adsConnection.getTargetAmsPort().toString(), "13");
adsConnection.close();
}
@@ -58,9 +51,8 @@ public class ADSPlcDriverTest {
* @throws PlcException something went wrong
*/
@Test
- @Tag("fast")
- void getConnectionInvalidUrl() throws PlcException {
- Assertions.assertThrows(PlcConnectionException.class,
+ public void getConnectionInvalidUrl() throws PlcException {
+ assertThrows(PlcConnectionException.class,
() -> new PlcDriverManager().getConnection("ads://localhost/hurz/2"));
}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/LengthTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/LengthTest.java
index c44cad4..bb25c22 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/LengthTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/LengthTest.java
@@ -19,38 +19,40 @@
package org.apache.plc4x.java.ads.api.commands.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
-class LengthTest {
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+public class LengthTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(Length.of(1), "0x01000000");
assertByte(Length.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> Length.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> Length.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> Length.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> Length.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(Length.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(Length.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(Length.of("1").toString(), "1");
}
void assertByte(Length actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/ReadLengthTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/ReadLengthTest.java
index a1a2442..1858713 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/ReadLengthTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/ReadLengthTest.java
@@ -19,37 +19,41 @@
package org.apache.plc4x.java.ads.api.commands.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
+
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+
+public class ReadLengthTest {
-class ReadLengthTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", ReadLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> ReadLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", ReadLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> ReadLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(ReadLength.of(1), "0x01000000");
assertByte(ReadLength.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> ReadLength.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> ReadLength.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> ReadLength.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> ReadLength.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(ReadLength.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(ReadLength.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(ReadLength.of("1").toString(), "1");
}
void assertByte(ReadLength actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SampleSizeTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SampleSizeTest.java
index a80a28a..22a128f 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SampleSizeTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SampleSizeTest.java
@@ -19,40 +19,41 @@
package org.apache.plc4x.java.ads.api.commands.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
-class SampleSizeTest {
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+public class SampleSizeTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", SampleSize.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> SampleSize.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", SampleSize.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> SampleSize.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(SampleSize.of(1), "0x01000000");
assertByte(SampleSize.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> SampleSize.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> SampleSize.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> SampleSize.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> SampleSize.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(SampleSize.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(SampleSize.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(SampleSize.of("1").toString(), "1");
}
void assertByte(SampleSize actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
-
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SamplesTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SamplesTest.java
index 49ef8d2..1434ec7 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SamplesTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/SamplesTest.java
@@ -19,39 +19,41 @@
package org.apache.plc4x.java.ads.api.commands.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
-class SamplesTest {
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+public class SamplesTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", Samples.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> Samples.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", Samples.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> Samples.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(Samples.of(1), "0x01000000");
assertByte(Samples.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> Samples.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> Samples.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> Samples.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> Samples.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(Samples.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(Samples.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(Samples.of("1").toString(), "1");
}
void assertByte(Samples actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/WriteLengthTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/WriteLengthTest.java
index d6780e2..087dc92 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/WriteLengthTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/WriteLengthTest.java
@@ -19,39 +19,42 @@
package org.apache.plc4x.java.ads.api.commands.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
-class WriteLengthTest {
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+
+public class WriteLengthTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", WriteLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> WriteLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", WriteLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> WriteLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(WriteLength.of(1), "0x01000000");
assertByte(WriteLength.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> WriteLength.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> WriteLength.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> WriteLength.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> WriteLength.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(WriteLength.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(WriteLength.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(WriteLength.of("1").toString(), "1");
}
void assertByte(WriteLength actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSPortTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSPortTest.java
index 1845349..12ee66b 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSPortTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSPortTest.java
@@ -19,38 +19,41 @@
package org.apache.plc4x.java.ads.api.generic.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
-class AMSPortTest {
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+
+public class AMSPortTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", AMSPort.of(NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> AMSPort.of(NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", AMSPort.of(NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> AMSPort.of(NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofInt() {
+ public void ofInt() {
assertByte(AMSPort.of(1), "0x0100");
assertByte(AMSPort.of(65535), "0xffff");
- Assertions.assertThrows(IllegalArgumentException.class, () -> AMSPort.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> AMSPort.of(65536));
+ assertThrows(IllegalArgumentException.class, () -> AMSPort.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> AMSPort.of(65536));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(AMSPort.of("1"), "0x0100");
}
@Test
- void testToString() {
- Assertions.assertEquals(AMSPort.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(AMSPort.of("1").toString(), "1");
}
void assertByte(AMSPort actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/DataLengthTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/DataLengthTest.java
index aafab4a..fd5e6d0 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/DataLengthTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/DataLengthTest.java
@@ -19,40 +19,42 @@
package org.apache.plc4x.java.ads.api.generic.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
-class DataLengthTest {
+
+public class DataLengthTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", DataLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> DataLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", DataLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> DataLength.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(DataLength.of(1), "0x01000000");
assertByte(DataLength.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> DataLength.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> DataLength.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> DataLength.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> DataLength.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(DataLength.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(DataLength.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(DataLength.of("1").toString(), "1");
}
void assertByte(DataLength actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/LengthTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/LengthTest.java
index 97dab3f..5648e18 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/LengthTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/LengthTest.java
@@ -20,38 +20,41 @@ package org.apache.plc4x.java.ads.api.generic.types;
import org.apache.commons.codec.binary.Hex;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
-class LengthTest {
+import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
+import static org.junit.Assert.assertEquals;
+
+
+public class LengthTest {
byte NULL_BYTE = 0x0;
@Test
- void ofBytes() {
- Assertions.assertEquals("0", Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
- Assertions.assertThrows(IllegalArgumentException.class, () -> Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
+ public void ofBytes() {
+ assertEquals("0", Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE).toString());
+ assertThrows(IllegalArgumentException.class, () -> Length.of(NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE, NULL_BYTE));
}
@Test
- void ofLong() {
+ public void ofLong() {
assertByte(Length.of(1), "0x01000000");
assertByte(Length.of(65535), "0xffff0000");
- Assertions.assertThrows(IllegalArgumentException.class, () -> Length.of(-1));
- Assertions.assertThrows(IllegalArgumentException.class, () -> Length.of(4294967296L));
+ assertThrows(IllegalArgumentException.class, () -> Length.of(-1));
+ assertThrows(IllegalArgumentException.class, () -> Length.of(4294967296L));
}
@Test
- void ofString() {
+ public void ofString() {
assertByte(Length.of("1"), "0x01000000");
}
@Test
- void testToString() {
- Assertions.assertEquals(Length.of("1").toString(), "1");
+ public void testToString() {
+ assertEquals(Length.of("1").toString(), "1");
}
void assertByte(Length actual, String expected) {
- Assertions.assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
+ assertEquals(expected, "0x" + Hex.encodeHexString(actual.getBytes()));
}
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java
index 78d2813..5045643 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java
@@ -22,44 +22,44 @@ package org.apache.plc4x.java.ads.connection;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.model.ADSAddress;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.Assert.*;
-class ADSPlcConnectionTests {
+public class ADSPlcConnectionTests {
private ADSPlcConnection adsPlcConnection;
- @BeforeEach
- void setUp() {
+ @Before
+ public void setUp() {
adsPlcConnection = new ADSPlcConnection("localhost", AMSNetId.of("0.0.0.0.0.0"), AMSPort.of(13));
}
- @AfterEach
- void tearDown() {
+ @After
+ public void tearDown() {
adsPlcConnection = null;
}
@Test
- void initialState() {
- assertTrue(adsPlcConnection.getHostName().equalsIgnoreCase("localhost"), "Hostname is incorrect");
+ public void initialState() {
+ assertTrue("Hostname is incorrect", adsPlcConnection.getHostName().equalsIgnoreCase("localhost"));
assertEquals(adsPlcConnection.getTargetAmsNetId().toString(), "0.0.0.0.0.0");
assertEquals(adsPlcConnection.getTargetAmsPort().toString(), "13");
}
@Test
- void emptyParseAddress() throws Exception {
+ public void emptyParseAddress() throws Exception {
try {
adsPlcConnection.parseAddress("");
} catch (IllegalArgumentException exception) {
- assertTrue(exception.getMessage().startsWith("address doesn't match "), "Unexpected exception");
+ assertTrue("Unexpected exception", exception.getMessage().startsWith("address doesn't match "));
}
}
@Test
- void parseAddress() throws Exception {
+ public void parseAddress() throws Exception {
try {
ADSAddress address = (ADSAddress) adsPlcConnection.parseAddress("1/1");
assertEquals(address.getIndexGroup(), 1);
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/ExtendWithTcpHexDumper.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java
similarity index 55%
rename from plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/ExtendWithTcpHexDumper.java
rename to plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java
index 9be3a85..34d8783 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/ExtendWithTcpHexDumper.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java
@@ -18,25 +18,20 @@
*/
package org.apache.plc4x.java.ads.util;
-import org.junit.jupiter.api.extension.ExtendWith;
+public class Junit5Backport {
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+ public static void assertThrows(Class<? extends Exception> exception, Acceptor acceptor) {
+ try {
+ acceptor.accept();
+ } catch (Exception e) {
+ if (!exception.isAssignableFrom(e.getClass())) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
-import static java.lang.annotation.ElementType.*;
-
-@Target({TYPE, METHOD, ANNOTATION_TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-@ExtendWith(TcpHexDumper.class)
-public @interface ExtendWithTcpHexDumper {
- /**
- * Can be used to set a fixed port for the dumper, otherwise he will use a random port.
- */
- int port() default 0;
-
- /**
- * The timeout for the pool shutdown. After this no dumps will be printed anymore.
- */
- int shutdownTimeout() default 10;
+ @FunctionalInterface
+ public interface Acceptor {
+ void accept() throws Exception;
+ }
}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java
index c0b0449..ca6a684 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java
@@ -20,7 +20,7 @@ package org.apache.plc4x.java.ads.util;
import org.apache.commons.io.HexDump;
import org.apache.commons.io.IOUtils;
-import org.junit.jupiter.api.extension.*;
+import org.junit.rules.ExternalResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,17 +34,23 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-public class TcpHexDumper implements BeforeEachCallback, AfterEachCallback, ParameterResolver, Closeable {
+public class TcpHexDumper extends ExternalResource implements Closeable {
private static final Logger logger = LoggerFactory.getLogger(TcpHexDumper.class);
- private ExecutorService pool = Executors.newCachedThreadPool();
+ private ExecutorService pool;
- private Integer portToUse;
+ private final Integer portToUse;
private ServerSocket serverSocket;
- int shutdownTimeout = 10;
+ int shutdownTimeout;
+
+ public TcpHexDumper(Integer portToUse) {
+ pool = Executors.newCachedThreadPool();
+ this.portToUse = portToUse;
+ this.shutdownTimeout = 10;
+ }
public void init(int port) throws IOException, InterruptedException {
if (serverSocket != null) {
@@ -99,33 +105,20 @@ public class TcpHexDumper implements BeforeEachCallback, AfterEachCallback, Para
}
@Override
- public void afterEach(ExtensionContext context) throws Exception {
- stop(true);
- }
-
- @Override
- public void beforeEach(ExtensionContext context) throws Exception {
- init(initPortToUse(context));
- shutdownTimeout = initShutdownTimeout(context);
+ public void after() {
+ try {
+ stop(true);
+ } catch (IOException | InterruptedException ignore) {
+ }
}
@Override
- public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
- return parameterContext.getParameter().getType()
- .equals(int.class);
- }
-
- @Override
- public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
- try {
- return initPortToUse(extensionContext);
- } catch (IOException e) {
- throw new ParameterResolutionException("Could not find a free port", e);
- }
+ public void before() throws Throwable {
+ init(portToUse);
}
public static TcpHexDumper runOn(int port) throws IOException, InterruptedException {
- TcpHexDumper tcpHexDumper = new TcpHexDumper();
+ TcpHexDumper tcpHexDumper = new TcpHexDumper(port);
tcpHexDumper.init(port);
return tcpHexDumper;
}
@@ -134,27 +127,6 @@ public class TcpHexDumper implements BeforeEachCallback, AfterEachCallback, Para
return serverSocket.getLocalPort();
}
- private int initShutdownTimeout(ExtensionContext context) {
- ExtendWithTcpHexDumper annotation = context.getRequiredTestClass().getAnnotation(ExtendWithTcpHexDumper.class);
- return annotation.shutdownTimeout();
- }
-
- private int initPortToUse(ExtensionContext context) throws IOException {
- if (portToUse == null) {
- ExtendWithTcpHexDumper annotation = context.getRequiredTestClass().getAnnotation(ExtendWithTcpHexDumper.class);
- int port = annotation.port();
- portToUse = port != 0 ? port : findFreePort();
- }
- return portToUse;
- }
-
- private static int findFreePort() throws IOException {
- try (ServerSocket socket = new ServerSocket(0)) {
- socket.setReuseAddress(true);
- return socket.getLocalPort();
- }
- }
-
@Override
public void close() throws IOException {
try {
--
To stop receiving notification emails like this one, please contact
sruehl@apache.org.