From 63555acd21de59379f963d5b59a4ffb0f8d79a2a Mon Sep 17 00:00:00 2001 From: str4d Date: Sun, 26 Jul 2015 09:33:11 +0000 Subject: [PATCH] I2PSocketException tests --- .../streaming/I2PSocketExceptionTest.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 apps/ministreaming/java/test/junit/net/i2p/client/streaming/I2PSocketExceptionTest.java diff --git a/apps/ministreaming/java/test/junit/net/i2p/client/streaming/I2PSocketExceptionTest.java b/apps/ministreaming/java/test/junit/net/i2p/client/streaming/I2PSocketExceptionTest.java new file mode 100644 index 000000000..597dc1a1f --- /dev/null +++ b/apps/ministreaming/java/test/junit/net/i2p/client/streaming/I2PSocketExceptionTest.java @@ -0,0 +1,65 @@ +package net.i2p.client.streaming; + +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; + +import java.util.HashMap; +import java.util.Map; + +import net.i2p.client.SendMessageStatusListener; +import net.i2p.data.i2cp.MessageStatusMessage; + +import org.junit.Test; + +public class I2PSocketExceptionTest { + private static Map statusMap; + + static { + Map map = new HashMap(); + map.put(MessageStatusMessage.STATUS_SEND_BEST_EFFORT_FAILURE, "Message timeout"); + map.put(MessageStatusMessage.STATUS_SEND_GUARANTEED_FAILURE, "Message timeout"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_LOCAL, "Failed delivery to local destination"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_ROUTER, "Local router failure"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_NETWORK, "Local network failure"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_BAD_SESSION, "Session closed"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_BAD_MESSAGE, "Invalid message"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_BAD_OPTIONS, "Invalid message options"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_OVERFLOW, "Buffer overflow"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_EXPIRED, "Message expired"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_LOCAL_LEASESET, "Local lease set invalid"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_NO_TUNNELS, "No local tunnels"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_UNSUPPORTED_ENCRYPTION, "Unsupported encryption options"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_DESTINATION, "Invalid destination"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_BAD_LEASESET, "Local router failure"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_EXPIRED_LEASESET, "Destination lease set expired"); + map.put(MessageStatusMessage.STATUS_SEND_FAILURE_NO_LEASESET, "Destination lease set not found"); + map.put(SendMessageStatusListener.STATUS_CANCELLED, "Local destination shutdown"); + map.put(I2PSocketException.STATUS_CONNECTION_RESET, "Connection was reset"); + statusMap = map; + } + + @Test + public void testKnownStatus() { + for (Map.Entry entry : statusMap.entrySet()) { + int status = entry.getKey(); + String msg = entry.getValue(); + I2PSocketException e = new I2PSocketException(status); + assertThat(e.getStatus(), is(status)); + assertThat(e.getMessage(), is(msg)); + } + } + + @Test + public void testCustomStatus() { + I2PSocketException e = new I2PSocketException("foo"); + assertThat(e.getStatus(), is(-1)); + assertThat(e.getMessage(), is("foo")); + } + + @Test + public void testUnknownStatus() { + I2PSocketException e = new I2PSocketException(255); + assertThat(e.getStatus(), is(255)); + assertThat(e.getMessage(), is("Failure code: 255")); + } +}