diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
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 | 320 |
1 files changed, 0 insertions, 320 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 deleted file mode 100644 index 1838c63e..00000000 --- a/framework/src/onos/apps/aaa/src/test/java/org/onosproject/aaa/StateMachineTest.java +++ /dev/null @@ -1,320 +0,0 @@ -/* - * - * Copyright 2015 AT&T Foundry - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.onosproject.aaa; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - - -public class StateMachineTest { - StateMachine stateMachine = null; - - @Before - public void setUp() { - System.out.println("Set Up."); - StateMachine.bitSet.clear(); - StateMachine.initializeMaps(); - stateMachine = new StateMachine("session0", null); - } - - @After - public void tearDown() { - System.out.println("Tear Down."); - StateMachine.bitSet.clear(); - StateMachine.destroyMaps(); - stateMachine = null; - } - - @Test - /** - * Test all the basic inputs from state to state: IDLE -> STARTED -> PENDING -> AUTHORIZED -> IDLE - */ - public void basic() throws StateMachineException { - System.out.println("======= BASIC =======."); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); - - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - } - - @Test - /** - * Test all inputs from an IDLE state (starting with the ones that are not impacting the current state) - */ - public void testIdleState() throws StateMachineException { - System.out.println("======= IDLE STATE TEST =======."); - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - - stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); - } - - @Test - /** - * Test all inputs from an STARTED state (starting with the ones that are not impacting the current state) - */ - public void testStartedState() throws StateMachineException { - System.out.println("======= STARTED STATE TEST =======."); - stateMachine.start(); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); - - stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_STARTED); - - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - } - - @Test - /** - * Test all inputs from a PENDING state (starting with the ones that are not impacting the current state). - * The next valid state for this test is AUTHORIZED - */ - public void testPendingStateToAuthorized() throws StateMachineException { - System.out.println("======= PENDING STATE TEST (AUTHORIZED) =======."); - stateMachine.start(); - stateMachine.requestAccess(); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - - stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - } - - @Test - /** - * Test all inputs from an PENDING state (starting with the ones that are not impacting the current state). - * The next valid state for this test is UNAUTHORIZED - */ - public void testPendingStateToUnauthorized() throws StateMachineException { - System.out.println("======= PENDING STATE TEST (DENIED) =======."); - stateMachine.start(); - stateMachine.requestAccess(); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_PENDING); - - stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); - } - - @Test - /** - * Test all inputs from an AUTHORIZED state (starting with the ones that are not impacting the current state). - */ - public void testAuthorizedState() throws StateMachineException { - System.out.println("======= AUTHORIZED STATE TEST =======."); - stateMachine.start(); - stateMachine.requestAccess(); - stateMachine.authorizeAccess(); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - - stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_AUTHORIZED); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - } - - @Test - /** - * Test all inputs from an UNAUTHORIZED state (starting with the ones that are not impacting the current state). - */ - public void testUnauthorizedState() throws StateMachineException { - System.out.println("======= UNAUTHORIZED STATE TEST =======."); - stateMachine.start(); - stateMachine.requestAccess(); - stateMachine.denyAccess(); - - stateMachine.start(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); - - stateMachine.requestAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); - - stateMachine.authorizeAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); - - stateMachine.denyAccess(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_UNAUTHORIZED); - - stateMachine.logoff(); - Assert.assertEquals(stateMachine.state(), StateMachine.STATE_IDLE); - } - - - @Test - public void testIdentifierAvailability() throws StateMachineException { - System.out.println("======= IDENTIFIER TEST =======."); - byte identifier = stateMachine.identifier(); - System.out.println("State: " + stateMachine.state()); - System.out.println("Identifier: " + Byte.toUnsignedInt(identifier)); - Assert.assertEquals(-1, identifier); - stateMachine.start(); - - - StateMachine sm247 = null; - StateMachine sm3 = null; - - - //create 255 others state machines - for (int i = 1; i <= 255; i++) { - StateMachine sm = new StateMachine("session" + i, null); - sm.start(); - byte id = sm.identifier(); - Assert.assertEquals(i, Byte.toUnsignedInt(id)); - if (i == 3) { - sm3 = sm; - System.out.println("SM3: " + sm3.toString()); - } - if (i == 247) { - sm247 = sm; - System.out.println("SM247: " + sm247.toString()); - } - } - - //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(); - - Assert.assertNotNull(sm3); - sm3.requestAccess(); - sm3.authorizeAccess(); - sm3.logoff(); - - StateMachine otherSM3 = new StateMachine("session3b", null); - otherSM3.start(); - otherSM3.requestAccess(); - byte id3 = otherSM3.identifier(); - Assert.assertEquals(3, Byte.toUnsignedInt(id3)); - - StateMachine otherSM247 = new StateMachine("session247b", null); - otherSM247.start(); - otherSM247.requestAccess(); - 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())); - } -} |