diff options
Diffstat (limited to 'framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java')
-rw-r--r-- | framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java | 132 |
1 files changed, 90 insertions, 42 deletions
diff --git a/framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java b/framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java index 2fe44ab9..04837e85 100644 --- a/framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java +++ b/framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java @@ -21,6 +21,7 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.*; public class StateMachineTest { @@ -30,6 +31,7 @@ public class StateMachineTest { public void setUp() { System.out.println("Set Up."); StateMachine.bitSet.clear(); + StateMachine.initializeMaps(); stateMachine = new StateMachine("session0", null); } @@ -37,6 +39,7 @@ public class StateMachineTest { public void tearDown() { System.out.println("Tear Down."); StateMachine.bitSet.clear(); + StateMachine.destroyMaps(); stateMachine = null; } @@ -46,19 +49,19 @@ public class StateMachineTest { */ public void basic() throws StateMachineException { System.out.println("======= BASIC =======."); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_STARTED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); } @Test @@ -68,19 +71,19 @@ public class StateMachineTest { public void testIdleState() throws StateMachineException { System.out.println("======= IDLE STATE TEST =======."); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_STARTED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); } @Test @@ -92,19 +95,19 @@ public class StateMachineTest { stateMachine.start(); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_STARTED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_STARTED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_STARTED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_STARTED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); } @Test @@ -118,19 +121,19 @@ public class StateMachineTest { stateMachine.requestAccess(); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); } @Test @@ -144,19 +147,19 @@ public class StateMachineTest { stateMachine.requestAccess(); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_PENDING); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_UNAUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_UNAUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); } @Test @@ -170,19 +173,19 @@ public class StateMachineTest { stateMachine.authorizeAccess(); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_AUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); } @Test @@ -196,27 +199,27 @@ public class StateMachineTest { stateMachine.denyAccess(); stateMachine.start(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_UNAUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_UNAUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_UNAUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_UNAUTHORIZED); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); stateMachine.logoff(); - Assert.assertEquals(stateMachine.getState(), StateMachine.STATE_IDLE); + Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); } @Test public void testIdentifierAvailability() throws StateMachineException { System.out.println("======= IDENTIFIER TEST =======."); - byte identifier = stateMachine.getIdentifier(); - System.out.println("State: " + stateMachine.getState()); + byte identifier = stateMachine.identifier(); + System.out.println("State: " + stateMachine.state()); System.out.println("Identifier: " + Byte.toUnsignedInt(identifier)); Assert.assertEquals(-1, identifier); stateMachine.start(); @@ -230,7 +233,7 @@ public class StateMachineTest { for (int i = 1; i <= 255; i++) { StateMachine sm = new StateMachine("session" + i, null); sm.start(); - byte id = sm.getIdentifier(); + byte id = sm.identifier(); Assert.assertEquals(i, Byte.toUnsignedInt(id)); if (i == 3) { sm3 = sm; @@ -244,27 +247,72 @@ public class StateMachineTest { //simulate the state machine for a specific session and logoff so we can free up a spot for an identifier //let's choose identifier 247 then we free up 3 + Assert.assertNotNull(sm247); sm247.requestAccess(); sm247.authorizeAccess(); sm247.logoff(); - sm247 = null; + Assert.assertNotNull(sm3); sm3.requestAccess(); sm3.authorizeAccess(); sm3.logoff(); - sm3 = null; StateMachine otherSM3 = new StateMachine("session3b", null); otherSM3.start(); otherSM3.requestAccess(); - byte id3 = otherSM3.getIdentifier(); + byte id3 = otherSM3.identifier(); Assert.assertEquals(3, Byte.toUnsignedInt(id3)); StateMachine otherSM247 = new StateMachine("session247b", null); otherSM247.start(); otherSM247.requestAccess(); - byte id247 = otherSM247.getIdentifier(); + byte id247 = otherSM247.identifier(); Assert.assertEquals(247, Byte.toUnsignedInt(id247)); + } + @Test + public void testSessionIdLookups() { + String sessionId1 = "session1"; + String sessionId2 = "session2"; + String sessionId3 = "session3"; + + StateMachine machine1ShouldBeNull = + StateMachine.lookupStateMachineBySessionId(sessionId1); + assertNull(machine1ShouldBeNull); + StateMachine machine2ShouldBeNull = + StateMachine.lookupStateMachineBySessionId(sessionId2); + assertNull(machine2ShouldBeNull); + + StateMachine stateMachine1 = new StateMachine(sessionId1, null); + StateMachine stateMachine2 = new StateMachine(sessionId2, null); + + assertEquals(stateMachine1, + StateMachine.lookupStateMachineBySessionId(sessionId1)); + assertEquals(stateMachine2, + StateMachine.lookupStateMachineBySessionId(sessionId2)); + assertNull(StateMachine.lookupStateMachineBySessionId(sessionId3)); + } + + @Test + public void testIdentifierLookups() throws StateMachineException { + String sessionId1 = "session1"; + String sessionId2 = "session2"; + + StateMachine machine1ShouldBeNull = + StateMachine.lookupStateMachineById((byte) 1); + assertNull(machine1ShouldBeNull); + StateMachine machine2ShouldBeNull = + StateMachine.lookupStateMachineById((byte) 2); + assertNull(machine2ShouldBeNull); + + StateMachine stateMachine1 = new StateMachine(sessionId1, null); + stateMachine1.start(); + StateMachine stateMachine2 = new StateMachine(sessionId2, null); + stateMachine2.start(); + + assertEquals(stateMachine1, + StateMachine.lookupStateMachineById(stateMachine1.identifier())); + assertEquals(stateMachine2, + StateMachine.lookupStateMachineById(stateMachine2.identifier())); } } |