Introduce DistributedLock to guarantee that minority nodes won't try to remove
routes that originated from majority nodes

Change-Id: I138236b77773df808ca1478a59dd44fd88e711b4
diff --git a/apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java b/apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java
index 3ba34da..c6c0f82 100644
--- a/apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java
+++ b/apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java
@@ -47,6 +47,9 @@
 import org.onosproject.net.host.HostService;
 import org.onosproject.net.host.HostServiceAdapter;
 import org.onosproject.net.provider.ProviderId;
+import org.onosproject.store.service.AsyncDistributedLock;
+import org.onosproject.store.service.DistributedLock;
+import org.onosproject.store.service.DistributedLockBuilder;
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.WorkQueue;
 
@@ -104,6 +107,18 @@
         routeManager.clusterService = createNiceMock(ClusterService.class);
         replay(routeManager.clusterService);
         routeManager.storageService = createNiceMock(StorageService.class);
+
+        AsyncDistributedLock adl = createNiceMock(AsyncDistributedLock.class);
+        expect(adl.asLock()).andReturn(createNiceMock(DistributedLock.class));
+        replay(adl);
+
+        DistributedLockBuilder dlb = createNiceMock(DistributedLockBuilder.class);
+        expect(dlb.withName(anyString())).andReturn(dlb);
+        expect(dlb.build()).andReturn(adl);
+        replay(dlb);
+
+        expect(routeManager.storageService.lockBuilder())
+                .andReturn(dlb);
         expect(routeManager.storageService.getWorkQueue(anyString(), anyObject()))
                 .andReturn(createNiceMock(WorkQueue.class));
         replay(routeManager.storageService);