Update MRI upstreams for Phosphorus
[openflowplugin.git] / extension / openflowjava-extension-nicira / src / test / java / org / opendaylight / openflowjava / nx / codec / match / UdpSrcCodecTest.java
index f04f3f324a763afed0f56445a75c44550944baad..73af6a670b2f907f7d693a25b5bcc6ec9f818f9f 100644 (file)
@@ -1,44 +1,37 @@
-/**
+/*
  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowjava.nx.codec.match;
 
 import static org.junit.Assert.assertEquals;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
-import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfUdpSrc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.UdpSrcCaseValue;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.UdpSrcCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.of.match.udp.src.grouping.UdpSrcValuesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.UdpSrcCaseValue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.UdpSrcCaseValueBuilder;
+import org.opendaylight.yangtools.yang.common.Uint16;
 
 public class UdpSrcCodecTest {
+    private final ByteBuf buffer = ByteBufAllocator.DEFAULT.buffer();
+    private final UdpSrcCodec udpSrcCodec = new UdpSrcCodec();
 
-    UdpSrcCodec udpSrcCodec;
-    ByteBuf buffer;
-    MatchEntry input;
+    private MatchEntry input;
 
     private static final int VALUE_LENGTH = 4;
     private static final int NXM_FIELD_CODE = 11;
 
-    @Before
-    public void setUp() {
-        udpSrcCodec = new UdpSrcCodec();
-        buffer = ByteBufAllocator.DEFAULT.buffer();
-    }
-
     @Test
     public void serializeTest() {
         input = createMatchEntry();
@@ -47,9 +40,10 @@ public class UdpSrcCodecTest {
         assertEquals(OxmMatchConstants.NXM_0_CLASS, buffer.readUnsignedShort());
         short fieldMask = buffer.readUnsignedByte();
         assertEquals(NXM_FIELD_CODE, fieldMask >> 1);
-        assertEquals(0, fieldMask & 1);
+        assertEquals(1, fieldMask & 1);
         assertEquals(VALUE_LENGTH, buffer.readUnsignedByte());
         assertEquals(1, buffer.readUnsignedShort());
+        assertEquals(0xffff, buffer.readUnsignedShort());
     }
 
     @Test
@@ -58,39 +52,40 @@ public class UdpSrcCodecTest {
 
         input = udpSrcCodec.deserialize(buffer);
 
-        UdpSrcCaseValue result = ((UdpSrcCaseValue) input.getMatchEntryValue());
+        final UdpSrcCaseValue result = (UdpSrcCaseValue) input.getMatchEntryValue();
 
         assertEquals(Nxm0Class.class, input.getOxmClass());
         assertEquals(NxmOfUdpSrc.class, input.getOxmMatchField());
-        assertEquals(false, input.isHasMask());
+        assertEquals(true, input.getHasMask());
         assertEquals(1, result.getUdpSrcValues().getPort().getValue().shortValue());
+        assertEquals(0xffff, result.getUdpSrcValues().getMask().shortValue() & 0xffff);
     }
 
-    private MatchEntry createMatchEntry() {
+    private static MatchEntry createMatchEntry() {
         MatchEntryBuilder matchEntryBuilder = new MatchEntryBuilder();
-        UdpSrcCaseValueBuilder caseBuilder = new UdpSrcCaseValueBuilder();
-        UdpSrcValuesBuilder valuesBuilder = new UdpSrcValuesBuilder();
+        final UdpSrcCaseValueBuilder caseBuilder = new UdpSrcCaseValueBuilder();
+        final UdpSrcValuesBuilder valuesBuilder = new UdpSrcValuesBuilder();
 
         matchEntryBuilder.setOxmClass(Nxm0Class.class);
         matchEntryBuilder.setOxmMatchField(NxmOfUdpSrc.class);
-        matchEntryBuilder.setHasMask(false);
+        matchEntryBuilder.setHasMask(true);
 
-        valuesBuilder.setPort(new PortNumber(1));
+        valuesBuilder.setPort(new PortNumber(Uint16.ONE));
+        valuesBuilder.setMask(Uint16.MAX_VALUE);
 
         caseBuilder.setUdpSrcValues(valuesBuilder.build());
         matchEntryBuilder.setMatchEntryValue(caseBuilder.build());
         return matchEntryBuilder.build();
     }
 
-    private void createBuffer(ByteBuf message) {
+    private static void createBuffer(final ByteBuf message) {
         message.writeShort(OxmMatchConstants.NXM_0_CLASS);
 
-        int fieldMask = (NXM_FIELD_CODE << 1);
+        int fieldMask = NXM_FIELD_CODE << 1;
         message.writeByte(fieldMask);
         message.writeByte(VALUE_LENGTH);
-        byte[] value = new byte[VALUE_LENGTH];
         //Port num = 1
         message.writeShort(1);
+        message.writeShort(0xffff);
     }
-
-}
\ No newline at end of file
+}