Revert "Bug-2827: role switch proposal"
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / util / OpenflowPortsUtilTest.java
index a9921f8ee3c066bc5650a060a6f41c8f7642dd87..cb179535f23a500de081f711e60867dab27ad7df 100644 (file)
@@ -4,6 +4,8 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.CommonPort;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.OutputPortValues;
 
 import java.util.HashMap;
@@ -18,6 +20,9 @@ public class OpenflowPortsUtilTest {
     private static Map<String, Long> mapOF13Ports;
     private static Map<OpenflowVersion, Map<String, Long>> mapVersionToPorts;
 
+    /**
+     * initiation before testing - once for all
+     */
     @BeforeClass
     public static void setupClass() {
         OpenflowPortsUtil.init();
@@ -50,6 +55,9 @@ public class OpenflowPortsUtilTest {
 
     }
 
+    /**
+     * tearing down initiated values after all tests done
+     */
     @AfterClass
     public static void tearDownClass() {
         OpenflowPortsUtil.close();
@@ -59,18 +67,21 @@ public class OpenflowPortsUtilTest {
     }
 
     //helper
-    private void matchGetLogicalName(OpenflowVersion version, String logicalName) {
+    private static void matchGetLogicalName(OpenflowVersion version, String logicalName) {
         Assert.assertEquals("Controller reserve port not matching to logical-name for "+ version,
                 logicalName,
                 OpenflowPortsUtil.getPortLogicalName(version, mapVersionToPorts.get(version).get(logicalName)));
     }
 
     //helper
-    private void matchGetPortfromLogicalName(OpenflowVersion version, String logicalName) {
+    private static void matchGetPortfromLogicalName(OpenflowVersion version, String logicalName) {
         Assert.assertEquals("Controller reserve port not matching to logical-name for "+ version,
                 mapVersionToPorts.get(version).get(logicalName), OpenflowPortsUtil.getPortFromLogicalName(version, logicalName));
     }
 
+    /**
+     * test for method {@link OpenflowPortsUtil#getPortLogicalName(OpenflowVersion, Long)}
+     */
     @Test
     public void testGetPortLogicalName() {
 
@@ -102,6 +113,9 @@ public class OpenflowPortsUtilTest {
     }
 
 
+    /**
+     * test for method {@link OpenflowPortsUtil#getPortFromLogicalName(OpenflowVersion, String)}
+     */
     @Test
     public void testGetPortFromLogicalName() {
 
@@ -133,4 +147,54 @@ public class OpenflowPortsUtilTest {
 
     }
 
+    /**
+     * test for method {@link OpenflowPortsUtil#checkPortValidity(OpenflowVersion, Long)} - OF-1.0
+     */
+    @Test
+    public void testCheckPortValidity10() {
+        Assert.assertFalse(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , -1L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , 0L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , 0xFF00L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , 0xFFF8L));
+        Assert.assertFalse(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , 0xFFF0L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , 0xFFFFL));
+        Assert.assertFalse(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF10 , 0x1FFFFL));
+    }
+
+    /**
+     * test for method {@link OpenflowPortsUtil#checkPortValidity(OpenflowVersion, Long)} - OF-1.3
+     */
+    @Test
+    public void testCheckPortValidity13() {
+        Assert.assertFalse(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , -1L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , 0L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , 0xFFFFFF00L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , 0xFFFFFFF8L));
+        Assert.assertFalse(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , 0xFFFFFFF0L));
+        Assert.assertTrue(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , 0xFFFFFFFFL));
+        Assert.assertFalse(OpenflowPortsUtil.checkPortValidity(OpenflowVersion.OF13 , 0x1FFFFFFFFL));
+    }
+
+    /**
+     * test for method {@link OpenflowPortsUtil#portNumberToString(CommonPort.PortNumber)}
+     */
+    @Test
+    public void testPortNumberToString() {
+        CommonPort.PortNumber portNumber;
+        
+        portNumber = new CommonPort.PortNumber(42L);
+        Assert.assertEquals("42", OpenflowPortsUtil.portNumberToString(portNumber));
+        
+        portNumber = new CommonPort.PortNumber(OutputPortValues.FLOOD.toString());
+        Assert.assertEquals("FLOOD", OpenflowPortsUtil.portNumberToString(portNumber));
+        
+        try {
+            portNumber = new CommonPort.PortNumber((String) null);
+            Assert.fail("NPE was expected - due to value type");
+        } catch (Exception e) {
+            // expected
+            Assert.assertEquals(NullPointerException.class, e.getClass());
+        }
+    }
+
 }