@Immutable FlowEntity
[genius.git] / mdsalutil / mdsalutil-api / src / test / java / org / opendaylight / genius / mdsalutil / tests / ActionInfoImmutableTest.java
index 09dd2d017e77367a644f0bbcc528eebb510fbe2e..635384d1b9da86a6ce46ce382b9463f8616917f1 100644 (file)
@@ -14,8 +14,8 @@ import java.util.ArrayList;
 import java.util.List;
 import org.junit.Test;
 import org.opendaylight.genius.mdsalutil.ActionInfo;
-import org.opendaylight.genius.mdsalutil.ActionType;
 import org.opendaylight.genius.mdsalutil.FlowEntity;
+import org.opendaylight.genius.mdsalutil.FlowEntityBuilder;
 import org.opendaylight.genius.mdsalutil.actions.ActionNxConntrack;
 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions;
 
@@ -23,19 +23,38 @@ public class ActionInfoImmutableTest {
 
     @Test
     public void actionInfoActionKeyDoesNotMagicallyChangeOnFlowEntityGetFlowBuilder() {
-        FlowEntity flowEntity = new FlowEntity(BigInteger.valueOf(123L));
-        flowEntity.setFlowId("TEST");
-        flowEntity.setCookie(BigInteger.valueOf(110100480L));
+        FlowEntityBuilder flowEntityBuilder = new FlowEntityBuilder()
+            .setDpnId(BigInteger.valueOf(123L))
+            .setTableId((short) 1)
+            .setPriority(2)
+            .setFlowName("TEST-NAME")
+            .setFlowId("TEST-ID")
+            .setCookie(BigInteger.valueOf(110100480L));
         ActionInfo actionInfo = new ActionNxConntrack(27, 1, 0, 0, (short) 255);
         List<ActionInfo> actionInfos = new ArrayList<>();
         actionInfos.add(actionInfo);
-        flowEntity.getInstructionInfoList().add(new InstructionApplyActions(actionInfos));
-        assertEquals(27, flowEntity.getInstructionInfoList().get(0).getActionInfos().get(0).getActionKey());
+        flowEntityBuilder.addInstructionInfoList(new InstructionApplyActions(actionInfos));
+        FlowEntity flowEntity = flowEntityBuilder.build();
+
+        assertEquals(27, ((InstructionApplyActions) flowEntity.getInstructionInfoList().get(0)).getActionInfos().get(
+                0).getActionKey());
 
         flowEntity.getFlowBuilder();
-        assertEquals(27, flowEntity.getInstructionInfoList().get(0).getActionInfos().get(0).getActionKey());
+        assertEquals(27, ((InstructionApplyActions) flowEntity.getInstructionInfoList().get(0)).getActionInfos().get(
+                0).getActionKey());
         flowEntity.getFlowBuilder();
-        assertEquals(27, flowEntity.getInstructionInfoList().get(0).getActionInfos().get(0).getActionKey());
+        assertEquals(27, ((InstructionApplyActions) flowEntity.getInstructionInfoList().get(0)).getActionInfos().get(
+                0).getActionKey());
+    }
+
+    @Test
+    public void testDefaultCookie() {
+        assertEquals(new BigInteger("0110000", 16), new FlowEntityBuilder()
+                .setDpnId(BigInteger.valueOf(123L))
+                .setTableId((short) 1)
+                .setPriority(2)
+                .setFlowName("TEST-NAME")
+                .setFlowId("TEST-ID").build().getCookie());
     }
 
 }