diff --git a/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtilTest.java b/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtilTest.java
index ed18a79..c6e403a 100644
--- a/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtilTest.java
+++ b/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtilTest.java
@@ -78,6 +78,7 @@
 import static org.onosproject.openstacknetworking.api.Constants.UNSUPPORTED_VENDOR;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.addRouterIface;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.associatedFloatingIp;
+import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.checkActivationFlag;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.checkArpMode;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getConnectedClient;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getGwByComputeDevId;
@@ -472,6 +473,24 @@
         assertEquals(vnicType(portNameUnsupported), Constants.VnicType.UNSUPPORTED);
     }
 
+    /**
+     * Tests the checkActivationFlag method.
+     */
+    @Test
+    public void testCheckActivationFlag() {
+        assertFalse(checkActivationFlag("disable"));
+        assertTrue(checkActivationFlag("enable"));
+    }
+
+    /**
+     * Tests the checkActivationFlag method with incorrect input parameters.
+     */
+    @Test (expected = IllegalArgumentException.class)
+    public void testCheckActivationFlagWithException() {
+        checkActivationFlag("test");
+        checkActivationFlag(null);
+    }
+
     private DeviceId genDeviceId(int index) {
         return DeviceId.deviceId("of:compute-" + index);
     }
