Implement a setter and a getter of the conflict detection policy for flow manager.
- Currently, the flow manager accepts FREE policy only.
- This work is a part of ONOS-1759.
Change-Id: I20fb9288ca5ab60577c573cb9aaa5aa1583ded1d
diff --git a/src/test/java/net/onrc/onos/core/flowmanager/FlowManagerModuleTest.java b/src/test/java/net/onrc/onos/core/flowmanager/FlowManagerModuleTest.java
new file mode 100644
index 0000000..3467812
--- /dev/null
+++ b/src/test/java/net/onrc/onos/core/flowmanager/FlowManagerModuleTest.java
@@ -0,0 +1,51 @@
+package net.onrc.onos.core.flowmanager;
+
+import static org.junit.Assert.assertEquals;
+import net.onrc.onos.api.flowmanager.ConflictDetectionPolicy;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+public class FlowManagerModuleTest {
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ @Before
+ public void setUp() throws Exception {
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ /**
+ * Checks the default conflict detection policy is the FREE policy, and
+ * the other policies are not supported.
+ */
+ @Test
+ public void testConflictDetectionPolicy() {
+ FlowManagerModule flowManager = new FlowManagerModule();
+ assertEquals(ConflictDetectionPolicy.FREE,
+ flowManager.getConflictDetectionPolicy());
+
+ flowManager.setConflictDetectionPolicy(ConflictDetectionPolicy.FREE);
+ assertEquals(ConflictDetectionPolicy.FREE,
+ flowManager.getConflictDetectionPolicy());
+
+ thrown.expect(UnsupportedOperationException.class);
+ thrown.expectMessage("LOOSE is not supported.");
+ flowManager.setConflictDetectionPolicy(ConflictDetectionPolicy.LOOSE);
+ assertEquals(ConflictDetectionPolicy.FREE,
+ flowManager.getConflictDetectionPolicy());
+
+ thrown.expect(UnsupportedOperationException.class);
+ thrown.expectMessage("STRICT is not supported.");
+ flowManager.setConflictDetectionPolicy(ConflictDetectionPolicy.STRICT);
+ assertEquals(ConflictDetectionPolicy.FREE,
+ flowManager.getConflictDetectionPolicy());
+ }
+
+}