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