X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fpacket%2FICMPTest.java;h=e81fbf02cfafc4550ebfb5e5558d144e55d0696d;hp=445f7211c0f8c3fc50a7f5bb4856ed0e05993565;hb=50516efa1c2dcb3d2ac3a9c57b373d18231f6c12;hpb=074d2ad908fcdd5f395a8c918444b47619cc9194 diff --git a/opendaylight/sal/api/src/test/java/org/opendaylight/controller/sal/packet/ICMPTest.java b/opendaylight/sal/api/src/test/java/org/opendaylight/controller/sal/packet/ICMPTest.java index 445f7211c0..e81fbf02cf 100644 --- a/opendaylight/sal/api/src/test/java/org/opendaylight/controller/sal/packet/ICMPTest.java +++ b/opendaylight/sal/api/src/test/java/org/opendaylight/controller/sal/packet/ICMPTest.java @@ -12,18 +12,16 @@ package org.opendaylight.controller.sal.packet; import junit.framework.Assert; import org.junit.Test; -import org.opendaylight.controller.sal.packet.ICMP; public class ICMPTest { @Test public void testSetTypeCode() { ICMP icmp = new ICMP(); - short icmpTypeCode = 2; - icmp.setTypeCode(icmpTypeCode); - byte[] typeCode = icmp.hdrFieldsMap.get("TypeCode"); - Assert.assertTrue(typeCode[0] == 0); - Assert.assertTrue(typeCode[1] == 2); + byte icmpType = 2; + icmp.setType(icmpType); + byte[] typeCode = icmp.hdrFieldsMap.get("Type"); + Assert.assertTrue(typeCode[0] == 2); } @@ -32,7 +30,7 @@ public class ICMPTest { ICMP icmp = new ICMP(); short icmpChecksum = 200; icmp.setChecksum(icmpChecksum); - byte[] checksum = icmp.hdrFieldsMap.get("HeaderChecksum"); + byte[] checksum = icmp.hdrFieldsMap.get("Checksum"); Assert.assertTrue(checksum[0] == 0); Assert.assertTrue(checksum[1] == -56); @@ -59,4 +57,45 @@ public class ICMPTest { Assert.assertTrue(sequenceNumber[1] == -120); } + + @Test + public void testSerialization() throws PacketException { + byte icmpRawPayload[] = { (byte) 0x38, (byte) 0x26, (byte) 0x9e, + (byte) 0x51, (byte) 0x00, (byte) 0x00, (byte) 0x00, + (byte) 0x00, (byte) 0x2e, (byte) 0x6a, (byte) 0x08, + (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, + (byte) 0x00, (byte) 0x10, (byte) 0x11, (byte) 0x12, + (byte) 0x13, (byte) 0x14, (byte) 0x15, (byte) 0x16, + (byte) 0x17, (byte) 0x18, (byte) 0x19, (byte) 0x1a, + (byte) 0x1b, (byte) 0x1c, (byte) 0x1d, (byte) 0x1e, + (byte) 0x1f, (byte) 0x20, (byte) 0x21, (byte) 0x22, + (byte) 0x23, (byte) 0x24, (byte) 0x25, (byte) 0x26, + (byte) 0x27, (byte) 0x28, (byte) 0x29, (byte) 0x2a, + (byte) 0x2b, (byte) 0x2c, (byte) 0x2d, (byte) 0x2e, + (byte) 0x2f, (byte) 0x30, (byte) 0x31, (byte) 0x32, + (byte) 0x33, (byte) 0x34, (byte) 0x35, (byte) 0x36, (byte) 0x37 }; + + short checksum = (short)0xe553; + + // Create ICMP object + ICMP icmp = new ICMP(); + icmp.setType((byte)8); + icmp.setCode((byte)0); + icmp.setIdentifier((short) 0x46f5); + icmp.setSequenceNumber((short) 2); + icmp.setRawPayload(icmpRawPayload); + //icmp.setChecksum(checksum); + + // Serialize + byte[] stream = icmp.serialize(); + Assert.assertTrue(stream.length == 64); + + // Deserialize + ICMP icmpDes = new ICMP(); + icmpDes.deserialize(stream, 0, stream.length); + + Assert.assertFalse(icmpDes.isCorrupted()); + Assert.assertTrue(icmpDes.getChecksum() == checksum); + Assert.assertTrue(icmp.equals(icmpDes)); + } }