From f6d2fe38b01fc251af7f7b8dc683012ec77c4433 Mon Sep 17 00:00:00 2001
From: Alex Reimers <alex@bigswitch.com>
Date: Tue, 6 Mar 2012 14:16:47 -0800
Subject: [PATCH] Fix unit tests to work with module config parameters.

---
 .../core/module/FloodlightModuleContext.java      |  1 +
 .../core/internal/ControllerTest.java             | 15 +++++++++++++++
 .../internal/DeviceManagerImplTest.java           |  9 +++++++++
 .../staticflowentry/StaticFlowTests.java          |  9 ++++++++-
 .../storage/memory/tests/MemoryStorageTest.java   |  8 ++++++++
 5 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/src/main/java/net/floodlightcontroller/core/module/FloodlightModuleContext.java b/src/main/java/net/floodlightcontroller/core/module/FloodlightModuleContext.java
index 207995cbe..9b8533d83 100644
--- a/src/main/java/net/floodlightcontroller/core/module/FloodlightModuleContext.java
+++ b/src/main/java/net/floodlightcontroller/core/module/FloodlightModuleContext.java
@@ -72,6 +72,7 @@ public class FloodlightModuleContext implements IFloodlightModuleContext {
 	public void createConfigMaps(Set<IFloodlightModule> moduleSet) {
 	    for (IFloodlightModule mod : moduleSet) {
 	        Map<String, String> moduleParams = new HashMap<String, String>();
+	        System.out.println();
 	        configParams.put(mod.getClass(), moduleParams);
 	    }
 	}
diff --git a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
index d6af60770..e0576fa0d 100644
--- a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
+++ b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
@@ -24,6 +24,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
@@ -37,6 +38,7 @@ import net.floodlightcontroller.core.IOFMessageListener.Command;
 import net.floodlightcontroller.core.IOFSwitch;
 import net.floodlightcontroller.core.OFMessageFilterManager;
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
+import net.floodlightcontroller.core.module.IFloodlightModule;
 import net.floodlightcontroller.core.test.MockFloodlightProvider;
 import net.floodlightcontroller.counter.CounterStore;
 import net.floodlightcontroller.counter.ICounterStoreService;
@@ -80,17 +82,30 @@ public class ControllerTest extends FloodlightTestCase {
     public void setUp() throws Exception {
         super.setUp();
         FloodlightModuleContext fmc = new FloodlightModuleContext();
+        Set<IFloodlightModule> modSet = new HashSet<IFloodlightModule>();
+        
         FloodlightProvider cm = new FloodlightProvider();
         controller = (Controller)cm.getServiceImpls().get(IFloodlightProviderService.class);
         fmc.addService(IFloodlightProviderService.class, controller);
+        modSet.add(cm);
+        
         MemoryStorageSource memstorage = new MemoryStorageSource();
         fmc.addService(IStorageSourceService.class, memstorage);
+        modSet.add(memstorage);
+        
         RestApiServer restApi = new RestApiServer();
         fmc.addService(IRestApiService.class, restApi);
+        modSet.add(restApi);
+        
         CounterStore cs = new CounterStore();
         fmc.addService(ICounterStoreService.class, cs);
+        modSet.add(cs);
+        
         PktInProcessingTime ppt = new PktInProcessingTime();
         fmc.addService(IPktInProcessingTimeService.class, ppt);
+        modSet.add(ppt);
+        
+        fmc.createConfigMaps(modSet);
         ppt.init(fmc);
         restApi.init(fmc);
         memstorage.init(fmc);
diff --git a/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImplTest.java b/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImplTest.java
index 229e77dc5..14cfe32e0 100644
--- a/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImplTest.java
+++ b/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImplTest.java
@@ -19,7 +19,9 @@ package net.floodlightcontroller.devicemanager.internal;
 
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.createNiceMock;
@@ -31,6 +33,7 @@ import static org.easymock.EasyMock.verify;
 import net.floodlightcontroller.core.IFloodlightProviderService;
 import net.floodlightcontroller.core.IOFSwitch;
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
+import net.floodlightcontroller.core.module.IFloodlightModule;
 import net.floodlightcontroller.core.test.MockFloodlightProvider;
 import net.floodlightcontroller.devicemanager.Device;
 import net.floodlightcontroller.devicemanager.DeviceAttachmentPoint;
@@ -74,14 +77,20 @@ public class DeviceManagerImplTest extends FloodlightTestCase {
         super.setUp();
 
         FloodlightModuleContext fmc = new FloodlightModuleContext();
+        Set<IFloodlightModule> modSet = new HashSet<IFloodlightModule>();
         RestApiServer restApi = new RestApiServer();
+        modSet.add(restApi);
         mockFloodlightProvider = getMockFloodlightProvider();
+        modSet.add(mockFloodlightProvider);
         deviceManager = new DeviceManagerImpl();
+        modSet.add(deviceManager);
         fmc.addService(IDeviceManagerService.class, deviceManager);
         storageSource = new MemoryStorageSource();
+        modSet.add(storageSource);
         fmc.addService(IStorageSourceService.class, storageSource);
         fmc.addService(IFloodlightProviderService.class, mockFloodlightProvider);
         fmc.addService(IRestApiService.class, restApi);
+        fmc.createConfigMaps(modSet);
         restApi.init(fmc);
         storageSource.init(fmc);
         deviceManager.init(fmc);
diff --git a/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java b/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java
index 65c882948..b9c06a4aa 100644
--- a/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java
+++ b/src/test/java/net/floodlightcontroller/staticflowentry/StaticFlowTests.java
@@ -23,7 +23,9 @@ import org.openflow.util.HexString;
 
 import net.floodlightcontroller.core.FloodlightContext;
 import net.floodlightcontroller.core.IOFSwitch;
+import net.floodlightcontroller.core.module.FloodlightModuleContext;
 import net.floodlightcontroller.core.module.FloodlightModuleException;
+import net.floodlightcontroller.core.module.IFloodlightModule;
 import net.floodlightcontroller.core.test.MockFloodlightProvider;
 import net.floodlightcontroller.test.FloodlightTestCase;
 import net.floodlightcontroller.restserver.RestApiServer;
@@ -176,6 +178,9 @@ public class StaticFlowTests extends FloodlightTestCase {
         
         staticFlowEntryPusher.setStorageSource(storage);
         
+        FloodlightModuleContext fmc = new FloodlightModuleContext();
+        Set<IFloodlightModule> modSet = new HashSet<IFloodlightModule>();
+        
         MockFloodlightProvider mockFloodlightProvider = getMockFloodlightProvider();
         Map<Long, IOFSwitch> switchMap = new HashMap<Long, IOFSwitch>();
         switchMap.put(dpid, mockSwitch);
@@ -183,8 +188,10 @@ public class StaticFlowTests extends FloodlightTestCase {
         mockFloodlightProvider.setSwitches(switchMap);
         staticFlowEntryPusher.setFloodlightProvider(mockFloodlightProvider);
         RestApiServer restApi = new RestApiServer();
+        modSet.add(restApi);
+        fmc.createConfigMaps(modSet);
         try {
-            restApi.init(null);
+            restApi.init(fmc);
         } catch (FloodlightModuleException e) {
             e.printStackTrace();
         }
diff --git a/src/test/java/net/floodlightcontroller/storage/memory/tests/MemoryStorageTest.java b/src/test/java/net/floodlightcontroller/storage/memory/tests/MemoryStorageTest.java
index c25006622..127a9f0f7 100644
--- a/src/test/java/net/floodlightcontroller/storage/memory/tests/MemoryStorageTest.java
+++ b/src/test/java/net/floodlightcontroller/storage/memory/tests/MemoryStorageTest.java
@@ -17,7 +17,11 @@
 
 package net.floodlightcontroller.storage.memory.tests;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
+import net.floodlightcontroller.core.module.IFloodlightModule;
 import net.floodlightcontroller.restserver.IRestApiService;
 import net.floodlightcontroller.restserver.RestApiServer;
 import net.floodlightcontroller.storage.memory.MemoryStorageSource;
@@ -32,6 +36,10 @@ public class MemoryStorageTest extends StorageTest {
         restApi = new RestApiServer();
         FloodlightModuleContext fmc = new FloodlightModuleContext();
         fmc.addService(IRestApiService.class, restApi);
+        Set<IFloodlightModule> modSet = new HashSet<IFloodlightModule>();
+        modSet.add(restApi);
+        modSet.add(storageSource);
+        fmc.createConfigMaps(modSet);
         restApi.init(fmc);
         storageSource.init(fmc);
         restApi.startUp(fmc);
-- 
GitLab