VOL-149: Configure RADIUS Attributes as per subscriber information
VOL-148: RADIUS VLAN ID configurable

Change-Id: I2a51dbf316637e685b7e3c36595a27922c79b23c
diff --git a/src/test/java/org/opencord/aaa/AaaManagerTest.java b/src/test/java/org/opencord/aaa/AaaManagerTest.java
index 4c1f7b2..dadcc71 100644
--- a/src/test/java/org/opencord/aaa/AaaManagerTest.java
+++ b/src/test/java/org/opencord/aaa/AaaManagerTest.java
@@ -29,6 +29,7 @@
 import org.onosproject.core.CoreServiceAdapter;
 import org.onosproject.net.config.Config;
 import org.onosproject.net.config.NetworkConfigRegistryAdapter;
+import org.onosproject.net.packet.InboundPacket;
 
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -47,7 +48,7 @@
     private AaaManager aaaManager;
 
     class AaaManagerWithoutRadiusServer extends AaaManager {
-        protected void sendRadiusPacket(RADIUS radiusPacket) {
+        protected void sendRadiusPacket(RADIUS radiusPacket, InboundPacket inPkt) {
             savePacket(radiusPacket);
         }
     }
@@ -204,7 +205,7 @@
 
         RADIUS radiusCodeAccessChallengePacket =
                 constructRadiusCodeAccessChallengePacket(RADIUS.RADIUS_CODE_ACCESS_CHALLENGE, EAP.ATTR_MD5);
-        aaaManager.radiusListener.handleRadiusPacket(radiusCodeAccessChallengePacket);
+        aaaManager.handleRadiusPacket(radiusCodeAccessChallengePacket);
 
         Ethernet radiusChallengeMD5Packet = (Ethernet) fetchPacket(2);
         checkRadiusPacket(aaaManager, radiusChallengeMD5Packet, EAP.ATTR_MD5);
@@ -221,7 +222,7 @@
         RADIUS responseMd5RadiusPacket = (RADIUS) fetchPacket(3);
 
         checkRadiusPacketFromSupplicant(responseMd5RadiusPacket);
-        assertThat(responseMd5RadiusPacket.getIdentifier(), is((byte) 0));
+        assertThat(responseMd5RadiusPacket.getIdentifier(), is((byte) 3));
         assertThat(responseMd5RadiusPacket.getCode(), is(RADIUS.RADIUS_CODE_ACCESS_REQUEST));
 
         //  State machine should be in pending state
@@ -233,7 +234,7 @@
 
         RADIUS successPacket =
                 constructRadiusCodeAccessChallengePacket(RADIUS.RADIUS_CODE_ACCESS_ACCEPT, EAP.SUCCESS);
-        aaaManager.radiusListener.handleRadiusPacket((successPacket));
+        aaaManager.handleRadiusPacket((successPacket));
         Ethernet supplicantSuccessPacket = (Ethernet) fetchPacket(4);
 
         checkRadiusPacket(aaaManager, supplicantSuccessPacket, EAP.SUCCESS);
diff --git a/src/test/java/org/opencord/aaa/StateMachineTest.java b/src/test/java/org/opencord/aaa/StateMachineTest.java
index f87d72f..3f95134 100644
--- a/src/test/java/org/opencord/aaa/StateMachineTest.java
+++ b/src/test/java/org/opencord/aaa/StateMachineTest.java
@@ -1,6 +1,5 @@
 /*
- *
- * Copyright 2015 AT&T Foundry
+ * Copyright 2017-present Open Networking Foundation
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,13 +17,13 @@
 package org.opencord.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;
 
+import org.onlab.packet.VlanId;
 
 public class StateMachineTest {
     StateMachine stateMachine = null;
@@ -32,15 +31,13 @@
     @Before
     public void setUp() {
         System.out.println("Set Up.");
-        StateMachine.bitSet.clear();
         StateMachine.initializeMaps();
-        stateMachine = new StateMachine("session0");
+        stateMachine = new StateMachine("session0", VlanId.vlanId((short) 2));
     }
 
     @After
     public void tearDown() {
         System.out.println("Tear Down.");
-        StateMachine.bitSet.clear();
         StateMachine.destroyMaps();
         stateMachine = null;
     }
@@ -216,62 +213,6 @@
         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);
-                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");
-        otherSM3.start();
-        otherSM3.requestAccess();
-        byte id3 = otherSM3.identifier();
-        Assert.assertEquals(3, Byte.toUnsignedInt(id3));
-
-        StateMachine otherSM247 = new StateMachine("session247b");
-        otherSM247.start();
-        otherSM247.requestAccess();
-        byte id247 = otherSM247.identifier();
-        Assert.assertEquals(247, Byte.toUnsignedInt(id247));
-    }
-
     @Test
     public void testSessionIdLookups() {
         String sessionId1 = "session1";
@@ -285,8 +226,8 @@
                 StateMachine.lookupStateMachineBySessionId(sessionId2);
         assertNull(machine2ShouldBeNull);
 
-        StateMachine stateMachine1 = new StateMachine(sessionId1);
-        StateMachine stateMachine2 = new StateMachine(sessionId2);
+        StateMachine stateMachine1 = new StateMachine(sessionId1, VlanId.vlanId((short) 2));
+        StateMachine stateMachine2 = new StateMachine(sessionId2, VlanId.vlanId((short) 2));
 
         assertEquals(stateMachine1,
                      StateMachine.lookupStateMachineBySessionId(sessionId1));
@@ -307,9 +248,9 @@
                 StateMachine.lookupStateMachineById((byte) 2);
         assertNull(machine2ShouldBeNull);
 
-        StateMachine stateMachine1 = new StateMachine(sessionId1);
+        StateMachine stateMachine1 = new StateMachine(sessionId1, VlanId.vlanId((short) 2));
         stateMachine1.start();
-        StateMachine stateMachine2 = new StateMachine(sessionId2);
+        StateMachine stateMachine2 = new StateMachine(sessionId2, VlanId.vlanId((short) 2));
         stateMachine2.start();
 
         assertEquals(stateMachine1,