aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java
diff options
context:
space:
mode:
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.java132
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()));
}
}