Refining driver subsystem to facilitate coordinated start-up.
- for ONOS-6402
Change-Id: I7f64fc62ad1d451fcf55624b2422b60631a3c8e8
diff --git a/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java b/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java
index 88a7e7a..b3df232 100644
--- a/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java
+++ b/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java
@@ -42,7 +42,9 @@
import org.onosproject.net.device.DeviceServiceAdapter;
import org.onosproject.net.driver.AbstractHandlerBehaviour;
import org.onosproject.net.driver.DefaultDriver;
+import org.onosproject.net.driver.DriverRegistry;
import org.onosproject.net.driver.impl.DriverManager;
+import org.onosproject.net.driver.impl.DriverRegistryManager;
import org.onosproject.net.flow.CompletedBatchOperation;
import org.onosproject.net.flow.DefaultFlowEntry;
import org.onosproject.net.flow.DefaultFlowRule;
@@ -118,7 +120,6 @@
private TestDriverManager driverService;
-
@Before
public void setUp() {
mgr = new FlowRuleManager();
@@ -133,19 +134,20 @@
service = mgr;
registry = mgr;
- driverService = new TestDriverManager();
- driverService.addDriver(new DefaultDriver("foo", ImmutableList.of(), "", "", "",
- ImmutableMap.of(FlowRuleProgrammable.class,
- TestFlowRuleProgrammable.class),
- ImmutableMap.of()));
+ DriverRegistryManager driverRegistry = new DriverRegistryManager();
+ driverService = new TestDriverManager(driverRegistry);
+ driverRegistry.addDriver(new DefaultDriver("foo", ImmutableList.of(), "", "", "",
+ ImmutableMap.of(FlowRuleProgrammable.class,
+ TestFlowRuleProgrammable.class),
+ ImmutableMap.of()));
mgr.activate(null);
mgr.addListener(listener);
provider = new TestProvider(PID);
- providerService = registry.register(provider);
+ providerService = this.registry.register(provider);
appId = new TestApplicationId(0, "FlowRuleManagerTest");
assertTrue("provider should be registered",
- registry.getProviders().contains(provider.id()));
+ this.registry.getProviders().contains(provider.id()));
}
@After
@@ -270,7 +272,7 @@
FlowEntry fe3 = new DefaultFlowEntry(f3);
providerService.pushFlowMetrics(DID, ImmutableList.of(fe1, fe2, fe3));
validateEvents(RULE_ADD_REQUESTED, RULE_ADD_REQUESTED, RULE_ADD_REQUESTED,
- RULE_ADDED, RULE_ADDED, RULE_ADDED);
+ RULE_ADDED, RULE_ADDED, RULE_ADDED);
mgr.purgeFlowRules(DID);
assertEquals("0 rule should exist", 0, flowCount());
}
@@ -697,7 +699,8 @@
}
private class TestDriverManager extends DriverManager {
- TestDriverManager() {
+ TestDriverManager(DriverRegistry registry) {
+ this.registry = registry;
this.deviceService = mgr.deviceService;
activate();
}