diff --git a/core/java/src/net/i2p/data/i2cp/I2CPMessage.java b/core/java/src/net/i2p/data/i2cp/I2CPMessage.java index 3cc7da5039b20e0ac537dd410b5cabb71c86465c..9fedbc78a3079d02d0c6f98927d3aad21d04eb93 100644 --- a/core/java/src/net/i2p/data/i2cp/I2CPMessage.java +++ b/core/java/src/net/i2p/data/i2cp/I2CPMessage.java @@ -13,14 +13,14 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.i2p.data.DataStructure; - /** * Defines the base functionality of API messages * + * As of 0.9.48, does NOT extend DataStructure. + * * @author jrandom */ -public interface I2CPMessage extends DataStructure { +public interface I2CPMessage { /** * Read the contents from the input stream into the current class's format. * The stream should be the message body as defined by the client access layer diff --git a/core/java/src/net/i2p/data/i2cp/I2CPMessageImpl.java b/core/java/src/net/i2p/data/i2cp/I2CPMessageImpl.java index 9a46415135a2eb6cbc69d1e64f8287ce71c04c32..f11bbfdb34cb088d7b5ba734b32abf5302b51021 100644 --- a/core/java/src/net/i2p/data/i2cp/I2CPMessageImpl.java +++ b/core/java/src/net/i2p/data/i2cp/I2CPMessageImpl.java @@ -16,14 +16,15 @@ import java.io.OutputStream; import net.i2p.data.DataFormatException; import net.i2p.data.DataHelper; -import net.i2p.data.DataStructureImpl; /** * Defines the base message implementation. * + * As of 0.9.48, does NOT extend DataStructureImpl. + * * @author jrandom */ -public abstract class I2CPMessageImpl extends DataStructureImpl implements I2CPMessage { +public abstract class I2CPMessageImpl implements I2CPMessage { public I2CPMessageImpl() { // nop } diff --git a/core/java/src/net/i2p/data/i2cp/MessageId.java b/core/java/src/net/i2p/data/i2cp/MessageId.java index 365dc6dbb7928685a634082f8377033d948b5154..086bc01d398fa52c4410de2330aaf5fbeb31c9ec 100644 --- a/core/java/src/net/i2p/data/i2cp/MessageId.java +++ b/core/java/src/net/i2p/data/i2cp/MessageId.java @@ -15,15 +15,16 @@ import java.io.OutputStream; import net.i2p.data.DataFormatException; import net.i2p.data.DataHelper; -import net.i2p.data.DataStructureImpl; /** * Defines the message ID of a message delivered between a router and a client * in a particular session. These IDs are not globally unique. * + * As of 0.9.48, does NOT extend DataStructureImpl. + * * @author jrandom */ -public class MessageId extends DataStructureImpl { +public class MessageId { private long _messageId; public MessageId() { diff --git a/core/java/src/net/i2p/data/i2cp/SessionId.java b/core/java/src/net/i2p/data/i2cp/SessionId.java index 8bf373625a1c0be4ae5c154fa663ddf436ad7ee8..740b0b6e90ce2b2d7b56348ee2a6b45339ad5797 100644 --- a/core/java/src/net/i2p/data/i2cp/SessionId.java +++ b/core/java/src/net/i2p/data/i2cp/SessionId.java @@ -14,15 +14,16 @@ import java.io.OutputStream; import net.i2p.data.DataFormatException; import net.i2p.data.DataHelper; -import net.i2p.data.DataStructureImpl; /** * Defines the token passed between the router and client to associate messages * with a particular session. These IDs are not globally unique. * + * As of 0.9.48, does NOT extend DataStructureImpl. + * * @author jrandom */ -public class SessionId extends DataStructureImpl { +public class SessionId { private int _sessionId; public SessionId() { diff --git a/core/java/test/junit/net/i2p/data/TunnelIdTest.java b/core/java/test/junit/net/i2p/data/TunnelIdTest.java index ffa9f303d609277179c779adeee917e7baa15d83..9c087d9572be2a4724e8a2d5e7636f7b72e62abc 100644 --- a/core/java/test/junit/net/i2p/data/TunnelIdTest.java +++ b/core/java/test/junit/net/i2p/data/TunnelIdTest.java @@ -26,7 +26,7 @@ public class TunnelIdTest extends StructureTest { * so we can test it as a structure * @since 0.9.48 TunnelId no longer extends DataStructureImpl */ - private class TunnelIdStructure extends TunnelId implements DataStructure { + private static class TunnelIdStructure extends TunnelId implements DataStructure { public Hash calculateHash() { return null; } public void fromByteArray(byte[] in) {} public byte[] toByteArray() { return null; } diff --git a/core/java/test/junit/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java index b59870e5b8fbe690040cdb65a470bc6cc1ef18d5..bf1bd5f40a9f3c9c88ce9f741351b4f33d7f1b0c 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,10 +15,10 @@ import net.i2p.data.DataFormatException; * * @author str4d */ -public class BandwidthLimitsMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class BandwidthLimitsMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { BandwidthLimitsMessage msg = new BandwidthLimitsMessage(10240, 1024); return msg; } - public DataStructure createStructureToRead() { return new BandwidthLimitsMessage(); } + public I2CPMessageImpl createStructureToRead() { return new BandwidthLimitsMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java index 1bd017b0c55b97ef8aae93c37c72a4f26b51ff8d..0e1d0c052d55b5e7060e170480aa6f99b91a7181 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; import net.i2p.data.PrivateKey; import net.i2p.data.PrivateKeyTest; @@ -23,8 +21,8 @@ import net.i2p.data.LeaseSetTest; * * @author jrandom */ -public class CreateLeaseSetMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class CreateLeaseSetMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { CreateLeaseSetMessage msg = new CreateLeaseSetMessage(); msg.setPrivateKey((PrivateKey)(new PrivateKeyTest()).createDataStructure()); msg.setSigningPrivateKey((SigningPrivateKey)(new SigningPrivateKeyTest()).createDataStructure()); @@ -32,5 +30,5 @@ public class CreateLeaseSetMessageTest extends StructureTest { msg.setSessionId((SessionId)(new SessionIdTest()).createDataStructure()); return msg; } - public DataStructure createStructureToRead() { return new CreateLeaseSetMessage(); } + public I2CPMessageImpl createStructureToRead() { return new CreateLeaseSetMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/CreateSessionMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/CreateSessionMessageTest.java index 9e0db391a5350df8d4fcc2eb4c154f81206fb2e6..c5982d4890e6c45a0f169cad3f4c3e4bcd34c832 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/CreateSessionMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/CreateSessionMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,11 +15,11 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class CreateSessionMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class CreateSessionMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { CreateSessionMessage msg = new CreateSessionMessage(); msg.setSessionConfig((SessionConfig)(new SessionConfigTest()).createDataStructure()); return msg; } - public DataStructure createStructureToRead() { return new CreateSessionMessage(); } + public I2CPMessageImpl createStructureToRead() { return new CreateSessionMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/DestLookupMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DestLookupMessageTest.java index 2dc213d4a58c2014f11e53366ad649c520527351..b978ec3930817850c0b9111bf0ffb241fd206393 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/DestLookupMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/DestLookupMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; import net.i2p.data.Hash; import net.i2p.util.RandomSource; @@ -19,13 +17,13 @@ import net.i2p.util.RandomSource; * * @author str4d */ -public class DestLookupMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class DestLookupMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { byte h[] = new byte[Hash.HASH_LENGTH]; RandomSource.getInstance().nextBytes(h); Hash hash = new Hash(h); DestLookupMessage msg = new DestLookupMessage(hash); return msg; } - public DataStructure createStructureToRead() { return new DestLookupMessage(); } + public I2CPMessageImpl createStructureToRead() { return new DestLookupMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/DestReplyMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DestReplyMessageTest.java index 8e5af028b6bb716df08e604dbe36e2d2801fbf4c..94a36d85c1e991d097a41f80a56a27a4793dec61 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/DestReplyMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/DestReplyMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,10 +15,10 @@ import net.i2p.data.DataFormatException; * * @author str4d */ -public class DestReplyMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class DestReplyMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { DestReplyMessage msg = new DestReplyMessage(); return msg; } - public DataStructure createStructureToRead() { return new DestReplyMessage(); } + public I2CPMessageImpl createStructureToRead() { return new DestReplyMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/DestroySessionMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DestroySessionMessageTest.java index 59c0921906bcd79b2f50420ca7791b6a08e1b7f9..66e8168c89117cdd8e28e4734834b5ac8513d9cf 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/DestroySessionMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/DestroySessionMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,11 +15,11 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class DestroySessionMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class DestroySessionMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { DestroySessionMessage msg = new DestroySessionMessage(); msg.setSessionId((SessionId)(new SessionIdTest()).createDataStructure()); return msg; } - public DataStructure createStructureToRead() { return new DestroySessionMessage(); } + public I2CPMessageImpl createStructureToRead() { return new DestroySessionMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/DisconnectMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DisconnectMessageTest.java index a02b1dbc9a1293c49413acd3a3cc0fb45b4bbcf9..4c1214a4d7e3550bab27bd50f9e5fc2bcdb0458d 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/DisconnectMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/DisconnectMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,11 +15,11 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class DisconnectMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class DisconnectMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { DisconnectMessage msg = new DisconnectMessage(); msg.setReason("Because I say so"); return msg; } - public DataStructure createStructureToRead() { return new DisconnectMessage(); } + public I2CPMessageImpl createStructureToRead() { return new DisconnectMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java index c4c937613a5437914e72c8925bfc600d2e54eaef..0836e23bbb07204ed0984b10c44264411b44b9ca 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,10 +15,10 @@ import net.i2p.data.DataFormatException; * * @author str4d */ -public class GetBandwidthLimitsMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class GetBandwidthLimitsMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { GetBandwidthLimitsMessage msg = new GetBandwidthLimitsMessage(); return msg; } - public DataStructure createStructureToRead() { return new GetBandwidthLimitsMessage(); } + public I2CPMessageImpl createStructureToRead() { return new GetBandwidthLimitsMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/GetDateMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/GetDateMessageTest.java index 7333803543e27e886e53e14f2f17223c328c82ec..c0cb1d00a03aaaf7b67fd55c6718f63eb68bd705 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/GetDateMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/GetDateMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,10 +15,10 @@ import net.i2p.data.DataFormatException; * * @author str4d */ -public class GetDateMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class GetDateMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { GetDateMessage msg = new GetDateMessage("0.8.13-0"); return msg; } - public DataStructure createStructureToRead() { return new GetDateMessage(); } + public I2CPMessageImpl createStructureToRead() { return new GetDateMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/I2CPTstBase.java b/core/java/test/junit/net/i2p/data/i2cp/I2CPTstBase.java new file mode 100644 index 0000000000000000000000000000000000000000..aabc59de2decbba9d694416a399faf1bd12d232b --- /dev/null +++ b/core/java/test/junit/net/i2p/data/i2cp/I2CPTstBase.java @@ -0,0 +1,65 @@ +package net.i2p.data.i2cp; +/* + * free (adj.): unencumbered; not under the control of others + * Written by jrandom in 2003 and released into the public domain + * with no warranty of any kind, either expressed or implied. + * It probably won't make your computer catch on fire, or eat + * your children, but it might. Use at your own risk. + * + */ + +import static org.junit.Assert.*; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; + +import org.junit.Test; + +import net.i2p.data.DataFormatException; +import net.i2p.data.DataHelper; + +/** + * Utility class for wrapping I2CP message tests + * + * @since 0.9.48 + */ + +public abstract class I2CPTstBase { + + /** create a populated structure for writing */ + public abstract I2CPMessageImpl createDataStructure() throws DataFormatException; + + /** create an unpopulated structure for reading */ + public abstract I2CPMessageImpl createStructureToRead(); + + @Test + public void testStructure() throws Exception{ + byte[] temp = null; + + I2CPMessageImpl orig; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + orig = createDataStructure(); + orig.writeBytes(baos); + + + temp = baos.toByteArray(); + + I2CPMessageImpl ds; + ByteArrayInputStream bais = new ByteArrayInputStream(temp); + + ds = createStructureToRead(); + ds.readBytes(bais); + + + // I2CP message classes don't implement equals() + if (!getClass().getName().startsWith("net.i2p.data.i2cp.")) + assertEquals(orig, ds); + + // Not all classes implement equals, so write out again + ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); + ds.writeBytes(baos2); + byte[] temp2 = baos2.toByteArray(); + assert(DataHelper.eq(temp, temp2)); + } +} diff --git a/core/java/test/junit/net/i2p/data/i2cp/MessageIdTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessageIdTest.java index 2c8b4735c876fa65c073deed63e7404f31d92b81..38fb30fb169035fe3bbbde60991b2406087194c4 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/MessageIdTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/MessageIdTest.java @@ -11,6 +11,7 @@ package net.i2p.data.i2cp; import net.i2p.data.StructureTest; import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; +import net.i2p.data.Hash; /** * Test harness for loading / storing Hash objects @@ -19,9 +20,21 @@ import net.i2p.data.DataFormatException; */ public class MessageIdTest extends StructureTest { public DataStructure createDataStructure() throws DataFormatException { - MessageId id = new MessageId(); + MessageIdStructure id = new MessageIdStructure(); id.setMessageId(101); return id; } - public DataStructure createStructureToRead() { return new MessageId(); } + public DataStructure createStructureToRead() { return new MessageIdStructure(); } + + /** + * so we can test it as a structure + * @since 0.9.48 no longer extends DataStructureImpl + */ + private static class MessageIdStructure extends MessageId implements DataStructure { + public Hash calculateHash() { return null; } + public void fromByteArray(byte[] in) {} + public byte[] toByteArray() { return null; } + public void fromBase64(String in) {} + public String toBase64() { return null; } + } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java index 11a9f2892bab59d1439deeabef90b1546be5093b..1ef4293368baf16cebd57f314582828752a47f96 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; import net.i2p.data.Payload; import net.i2p.data.PayloadTest; @@ -20,14 +18,14 @@ import net.i2p.data.PayloadTest; * @author jrandom */ - public class MessagePayloadMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { + public class MessagePayloadMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { MessagePayloadMessage msg = new MessagePayloadMessage(); msg.setMessageId(123); msg.setPayload((Payload)(new PayloadTest()).createDataStructure()); msg.setSessionId(321); return msg; } - public DataStructure createStructureToRead() { return new MessagePayloadMessage(); } + public I2CPMessageImpl createStructureToRead() { return new MessagePayloadMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/MessageStatusMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessageStatusMessageTest.java index eb0cfe2127d9db7df1e0e71eebaff30ac351f4b4..f4760c2e12eddbf6a5c4b13dda9ece36728e2be8 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/MessageStatusMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/MessageStatusMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,8 +15,8 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class MessageStatusMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class MessageStatusMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { MessageStatusMessage msg = new MessageStatusMessage(); msg.setSessionId(42); msg.setMessageId(41); @@ -27,5 +25,5 @@ public class MessageStatusMessageTest extends StructureTest { msg.setNonce(1); return msg; } - public DataStructure createStructureToRead() { return new MessageStatusMessage(); } + public I2CPMessageImpl createStructureToRead() { return new MessageStatusMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java index 16f201696b88dae80cc40c4ca4c0b270d5c52dc6..7b1a548c2189857b19b49ea5f8b3949c03658358 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,12 +15,12 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class ReceiveMessageBeginMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class ReceiveMessageBeginMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { ReceiveMessageBeginMessage msg = new ReceiveMessageBeginMessage(); msg.setSessionId(321); msg.setMessageId(123); return msg; } - public DataStructure createStructureToRead() { return new ReceiveMessageBeginMessage(); } + public I2CPMessageImpl createStructureToRead() { return new ReceiveMessageBeginMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java index cfe738440994cf2444daed9538bae39a73c9f5de..855c801cf032727ca89b5380f83f97a7688940cb 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,12 +15,12 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class ReceiveMessageEndMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class ReceiveMessageEndMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { ReceiveMessageEndMessage msg = new ReceiveMessageEndMessage(); msg.setSessionId(321); msg.setMessageId(123); return msg; } - public DataStructure createStructureToRead() { return new ReceiveMessageEndMessage(); } + public I2CPMessageImpl createStructureToRead() { return new ReceiveMessageEndMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java index 24b2a961821ea7686e902a6da197c17d6aed28c5..8b85a675e2657edd87e1f331d4ce4041630f10dc 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,12 +15,12 @@ import net.i2p.data.DataFormatException; * * @author str4d */ -public class ReconfigureSessionMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class ReconfigureSessionMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { ReconfigureSessionMessage msg = new ReconfigureSessionMessage(); msg.setSessionId((SessionId)(new SessionIdTest()).createDataStructure()); msg.setSessionConfig((SessionConfig)(new SessionConfigTest()).createDataStructure()); return msg; } - public DataStructure createStructureToRead() { return new ReconfigureSessionMessage(); } + public I2CPMessageImpl createStructureToRead() { return new ReconfigureSessionMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/ReportAbuseMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReportAbuseMessageTest.java index e529d35f5f02eb4cc5f1ca6670eca5f2bc2cf3eb..11413cbedcf5cccd23428e7bb6cfe7dd76379b5e 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/ReportAbuseMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/ReportAbuseMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,8 +15,8 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class ReportAbuseMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class ReportAbuseMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { ReportAbuseMessage msg = new ReportAbuseMessage(); msg.setMessageId((MessageId)(new MessageIdTest()).createDataStructure()); msg.setReason((AbuseReason)(new AbuseReasonTest()).createDataStructure()); @@ -26,5 +24,5 @@ public class ReportAbuseMessageTest extends StructureTest { msg.setSeverity((AbuseSeverity)(new AbuseSeverityTest()).createDataStructure()); return msg; } - public DataStructure createStructureToRead() { return new ReportAbuseMessage(); } + public I2CPMessageImpl createStructureToRead() { return new ReportAbuseMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java index 0296c7219a495a5973a6c2867299fcc3d3c56b4d..cd1d5258e292544c45a625eeeff3b54227eaa3ce 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java @@ -10,8 +10,6 @@ package net.i2p.data.i2cp; import java.util.Date; -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; import net.i2p.data.Hash; import net.i2p.data.TunnelId; @@ -22,8 +20,8 @@ import net.i2p.data.TunnelIdTest; * * @author jrandom */ -public class RequestLeaseSetMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class RequestLeaseSetMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { RequestLeaseSetMessage msg = new RequestLeaseSetMessage(); msg.setSessionId((SessionId)(new SessionIdTest()).createDataStructure()); msg.setEndDate(new Date(1000*60*60*12)); @@ -31,5 +29,5 @@ public class RequestLeaseSetMessageTest extends StructureTest { msg.addEndpoint(new Hash(h), (TunnelId)(new TunnelIdTest()).createDataStructure()); return msg; } - public DataStructure createStructureToRead() { return new RequestLeaseSetMessage(); } + public I2CPMessageImpl createStructureToRead() { return new RequestLeaseSetMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java index fa487b9c857c3a6c6350b8a6393518a349c8980a..ceae47790547ec0b2aa5bc3f407bdbc848dfd42a 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; import net.i2p.data.Destination; import net.i2p.data.DestinationTest; @@ -24,9 +22,9 @@ import net.i2p.data.DateAndFlagsTest; * @author str4d */ - public class SendMessageExpiresMessageTest extends StructureTest { + public class SendMessageExpiresMessageTest extends I2CPTstBase { - public DataStructure createDataStructure() throws DataFormatException { + public I2CPMessageImpl createDataStructure() throws DataFormatException { SendMessageExpiresMessage msg = new SendMessageExpiresMessage(); msg.setDestination((Destination)(new DestinationTest()).createDataStructure()); msg.setPayload((Payload)(new PayloadTest()).createDataStructure()); @@ -37,6 +35,6 @@ import net.i2p.data.DateAndFlagsTest; msg.setFlags(daf.getFlags()); return msg; } - public DataStructure createStructureToRead() { return new SendMessageExpiresMessage(); } + public I2CPMessageImpl createStructureToRead() { return new SendMessageExpiresMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java index e5798da43e139e43ac87ef513bb58663122a50f4..d2df66ec57ea604d97fa40544bcdaef3f9a94863 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; import net.i2p.data.Destination; import net.i2p.data.DestinationTest; @@ -22,9 +20,9 @@ import net.i2p.data.PayloadTest; * @author jrandom */ - public class SendMessageMessageTest extends StructureTest { + public class SendMessageMessageTest extends I2CPTstBase { - public DataStructure createDataStructure() throws DataFormatException { + public I2CPMessageImpl createDataStructure() throws DataFormatException { SendMessageMessage msg = new SendMessageMessage(); msg.setDestination((Destination)(new DestinationTest()).createDataStructure()); msg.setPayload((Payload)(new PayloadTest()).createDataStructure()); @@ -32,6 +30,6 @@ import net.i2p.data.PayloadTest; msg.setNonce(1); return msg; } - public DataStructure createStructureToRead() { return new SendMessageMessage(); } + public I2CPMessageImpl createStructureToRead() { return new SendMessageMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/SessionIdTest.java b/core/java/test/junit/net/i2p/data/i2cp/SessionIdTest.java index 45f9e1bcb070ae2b2619e1fa7b09e167ada38914..bbfd4edfbb40853f2234f03028b47548476a2efd 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/SessionIdTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/SessionIdTest.java @@ -11,6 +11,7 @@ package net.i2p.data.i2cp; import net.i2p.data.StructureTest; import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; +import net.i2p.data.Hash; /** * Test harness for loading / storing SessionId objects @@ -19,9 +20,21 @@ import net.i2p.data.DataFormatException; */ public class SessionIdTest extends StructureTest { public DataStructure createDataStructure() throws DataFormatException { - SessionId id = new SessionId(); + SessionIdStructure id = new SessionIdStructure(); id.setSessionId(7); return id; } - public DataStructure createStructureToRead() { return new SessionId(); } + public DataStructure createStructureToRead() { return new SessionIdStructure(); } + + /** + * so we can test it as a structure + * @since 0.9.48 no longer extends DataStructureImpl + */ + private static class SessionIdStructure extends SessionId implements DataStructure { + public Hash calculateHash() { return null; } + public void fromByteArray(byte[] in) {} + public byte[] toByteArray() { return null; } + public void fromBase64(String in) {} + public String toBase64() { return null; } + } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/SessionStatusMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SessionStatusMessageTest.java index 86db6fcf8c239b08bed1da6aec46d63a20f41d6a..435a4889ec5baf801525f5ba7f90393ddcc60f95 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/SessionStatusMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/SessionStatusMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,12 +15,12 @@ import net.i2p.data.DataFormatException; * * @author jrandom */ -public class SessionStatusMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class SessionStatusMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { SessionStatusMessage msg = new SessionStatusMessage(); msg.setSessionId((SessionId)(new SessionIdTest()).createDataStructure()); msg.setStatus(SessionStatusMessage.STATUS_CREATED); return msg; } - public DataStructure createStructureToRead() { return new SessionStatusMessage(); } + public I2CPMessageImpl createStructureToRead() { return new SessionStatusMessage(); } } diff --git a/core/java/test/junit/net/i2p/data/i2cp/SetDateMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SetDateMessageTest.java index 5d4317a817d5e0811cfde1742fe9b2027c8e40c1..14ff526d9277aa9db06f32833597d6bf3763e676 100644 --- a/core/java/test/junit/net/i2p/data/i2cp/SetDateMessageTest.java +++ b/core/java/test/junit/net/i2p/data/i2cp/SetDateMessageTest.java @@ -8,8 +8,6 @@ package net.i2p.data.i2cp; * */ -import net.i2p.data.StructureTest; -import net.i2p.data.DataStructure; import net.i2p.data.DataFormatException; /** @@ -17,10 +15,10 @@ import net.i2p.data.DataFormatException; * * @author str4d */ -public class SetDateMessageTest extends StructureTest { - public DataStructure createDataStructure() throws DataFormatException { +public class SetDateMessageTest extends I2CPTstBase { + public I2CPMessageImpl createDataStructure() throws DataFormatException { SetDateMessage msg = new SetDateMessage("0.8.13-0"); return msg; } - public DataStructure createStructureToRead() { return new SetDateMessage(); } + public I2CPMessageImpl createStructureToRead() { return new SetDateMessage(); } }