Use faas UlnDatastoreUtil instead of UlnDatastoreApi 16/63116/3
authorTom Pantelis <tompantelis@gmail.com>
Wed, 13 Sep 2017 21:06:37 +0000 (17:06 -0400)
committerTom Pantelis <tompantelis@gmail.com>
Thu, 14 Sep 2017 09:43:19 +0000 (05:43 -0400)
The UlnDatastoreApi class in the faas project has been deprecated
in favor of UlnDatastoreUtil which eliminates the static wiring
of the DataBroker. The classes using UlnDatastoreApi now create
a UlnDatastoreUtil instance.

Change-Id: Ia63dc8eafc31c5433467b1ba2df18cc668b08b1a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
14 files changed:
renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasContractManagerListener.java
renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasEndpointManagerListener.java
renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasPolicyManager.java
renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListener.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasContractManagerListenerCovrgTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasContractManagerListenerTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasEndpointManagerListenerTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasPolicyManagerCovrgTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasPolicyManagerTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListenerCovrgTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListenerTest.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/MockFaasContractManagerListener.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/MockFaasPolicyManager.java
renderers/faas/src/test/java/org/opendaylight/groupbasedpolicy/renderer/faas/MockFaasSubnetManagerListener.java

index 7b73860460f2f7fb7af37abfac4cd3651c2038fc..b2163b8c6dc9728c89f6f0587342c0d95478895d 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Name;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Text;
@@ -76,13 +76,15 @@ public class FaasContractManagerListener implements DataTreeChangeListener<Contr
     private final DataBroker dataProvider;
     private final TenantId gbpTenantId;
     private final Uuid faasTenantId;
+    private final UlnDatastoreUtil ulnDatastoreUtil;
 
     public FaasContractManagerListener(DataBroker dataProvider, TenantId gbpTenantId, Uuid faasTenantId,
-            Executor executor) {
+            Executor executor, UlnDatastoreUtil ulnDatastoreUtil) {
         this.executor = executor;
         this.gbpTenantId = gbpTenantId;
         this.faasTenantId = faasTenantId;
         this.dataProvider = dataProvider;
+        this.ulnDatastoreUtil = ulnDatastoreUtil;
     }
 
     @Override
@@ -98,7 +100,7 @@ public class FaasContractManagerListener implements DataTreeChangeListener<Contr
                 case WRITE:
                     Contract updatedContract = rootNode.getDataAfter();
                     LOG.debug("Contract {} is Updated.", updatedContract.getId().getValue());
-                    UlnDatastoreApi.submitSecurityGroupsToDs(initSecurityGroupBuilder(updatedContract).build());
+                    ulnDatastoreUtil.submitSecurityGroupsToDs(initSecurityGroupBuilder(updatedContract).build());
                     break;
                 case DELETE:
                     Contract deletedContract = rootNode.getDataBefore();
@@ -111,7 +113,7 @@ public class FaasContractManagerListener implements DataTreeChangeListener<Contr
                     }
                     Uuid val = mappedContracts.remove(deletedContract.getId());
                     if (val != null) {
-                        UlnDatastoreApi.removeSecurityGroupsFromDsIfExists(faasTenantId, val);
+                        ulnDatastoreUtil.removeSecurityGroupsFromDsIfExists(faasTenantId, val);
                     }
                     break;
                 default:
@@ -129,7 +131,7 @@ public class FaasContractManagerListener implements DataTreeChangeListener<Contr
         if (contracts != null) {
             for (Contract contract : contracts) {
                 LOG.debug("Loading Contract {}", contract.getId().getValue());
-                UlnDatastoreApi.submitSecurityGroupsToDs(initSecurityGroupBuilder(contract).build());
+                ulnDatastoreUtil.submitSecurityGroupsToDs(initSecurityGroupBuilder(contract).build());
             }
         }
     }
index 0c08e9c65b598d2627bc5d2796920b3124ac7d21..43ed1de2895fcd9accf86f7a9dc7e0e4fe3f2823 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
 import org.opendaylight.groupbasedpolicy.util.IetfModelCodec;
 import org.opendaylight.groupbasedpolicy.util.IidFactory;
@@ -55,6 +55,7 @@ public class FaasEndpointManagerListener implements AutoCloseable {
     private final List<ListenerRegistration<?>> listenerRegistrations = new ArrayList<>();
     private final FaasPolicyManager policyManager;
     private final DataBroker dataProvider;
+    private final UlnDatastoreUtil ulnDatastoreUtil;
 
     public FaasEndpointManagerListener(FaasPolicyManager policyManager, DataBroker dataProvider,
             Executor executor) {
@@ -69,6 +70,8 @@ public class FaasEndpointManagerListener implements AutoCloseable {
         listenerRegistrations.add(dataProvider.registerDataTreeChangeListener(new DataTreeIdentifier<>(
             LogicalDatastoreType.OPERATIONAL, IidFactory.endpointsIidWildcard().child(EndpointL3.class)),
             changes -> executor.execute(() -> onEndpointL3Changed(changes))));
+
+        this.ulnDatastoreUtil = new UlnDatastoreUtil(dataProvider);
     }
 
     @Override
@@ -148,7 +151,7 @@ public class FaasEndpointManagerListener implements AutoCloseable {
             ipBuilder.setSubnetId(faasSubnetId);
             privateIpAddresses.add(ipBuilder.build());
         }
-        if (!UlnDatastoreApi.attachEndpointToSubnet(epLocBuilder, faasSubnetId, IetfModelCodec.macAddress2013(endpoint.getMacAddress()),
+        if (!ulnDatastoreUtil.attachEndpointToSubnet(epLocBuilder, faasSubnetId, IetfModelCodec.macAddress2013(endpoint.getMacAddress()),
                 privateIpAddresses, null)) {
             LOG.error("Failed Endpoint Registration. Failed to Attach Endpoint to Faas Logical Network. Endpoint {}",
                     endpoint);
@@ -252,7 +255,7 @@ public class FaasEndpointManagerListener implements AutoCloseable {
                     FaasIidFactory.mappedEndpointIid(tenantId, mappedEndpointKey), rwTx);
             DataStoreHelper.submitToDs(rwTx);
             if (endpointOp.isPresent()) {
-                UlnDatastoreApi.removeEndpointLocationFromDsIfExists(policyManager.getFaasTenantId(tenantId),
+                ulnDatastoreUtil.removeEndpointLocationFromDsIfExists(policyManager.getFaasTenantId(tenantId),
                         endpointOp.get().getEndpointLocation());
             }
         }
index 9ac9d8a86a46057f3915193cafdb3edf1acaf759..f71a7ffd7a7dffb74dfa3294f25664a991122a24 100644 (file)
@@ -31,7 +31,7 @@ import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.faas.uln.datastore.api.Pair;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
 import org.opendaylight.groupbasedpolicy.util.IidFactory;
 import org.opendaylight.groupbasedpolicy.util.TenantUtils;
@@ -94,8 +94,14 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
     private final ConcurrentHashMap<TenantId, Uuid> mappedTenants = new ConcurrentHashMap<>();
     final ConcurrentHashMap<TenantId, ArrayList<ListenerRegistration<?>>> registeredTenants =
             new ConcurrentHashMap<>();
+    private final UlnDatastoreUtil ulnDatastoreUtil;
 
     public FaasPolicyManager(DataBroker dataBroker, Executor executor) {
+        this(dataBroker, executor, new UlnDatastoreUtil(dataBroker));
+    }
+
+    @VisibleForTesting
+    FaasPolicyManager(DataBroker dataBroker, Executor executor, UlnDatastoreUtil ulnDatastoreUtil) {
         this.dataProvider = dataBroker;
         this.executor = executor;
         this.registerListener = checkNotNull(dataProvider).registerDataTreeChangeListener(new DataTreeIdentifier<>(
@@ -111,6 +117,8 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
         } else {
             LOG.error("{} renderer Failed to register with the multi-renderer manager", rendererName.getValue());
         }
+
+        this.ulnDatastoreUtil = ulnDatastoreUtil;
     }
 
     @Override
@@ -222,11 +230,11 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
 
             // contracts
             FaasContractManagerListener faasContractManagerListener = new FaasContractManagerListener(dataProvider,
-                    gbpTenantId, faasTenantId, executor);
+                    gbpTenantId, faasTenantId, executor, ulnDatastoreUtil);
             faasContractManagerListener.loadAll(contracts, mappedEntity.getMappedContract());
             // subnets
             FaasSubnetManagerListener faasSubnetManagerListener = new FaasSubnetManagerListener(dataProvider,
-                    gbpTenantId, faasTenantId, executor);
+                    gbpTenantId, faasTenantId, executor, ulnDatastoreUtil);
             faasSubnetManagerListener.loadAll(subnets, mappedEntity.getMappedSubnet());
 
             /*
@@ -432,16 +440,16 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
             Uuid consTenantId = getFaasTenantId(logicalNetwork.getConsumerTenantId());
             Uuid provTenantId = getFaasTenantId(logicalNetwork.getProviderTenantId());
 
-            UlnDatastoreApi.removeLogicalSwitchFromDsIfExists(consTenantId, logicalNetwork.getConsumerNetwork()
+            ulnDatastoreUtil.removeLogicalSwitchFromDsIfExists(consTenantId, logicalNetwork.getConsumerNetwork()
                 .getLogicalSwitchId());
-            UlnDatastoreApi.removeLogicalSwitchFromDsIfExists(provTenantId, logicalNetwork.getProviderNetwork()
+            ulnDatastoreUtil.removeLogicalSwitchFromDsIfExists(provTenantId, logicalNetwork.getProviderNetwork()
                 .getLogicalSwitchId());
             if (logicalNetwork.getConsumerNetwork().getLogicalRouterId() != null) {
-                UlnDatastoreApi.removeLogicalRouterFromDsIfExists(consTenantId, logicalNetwork.getConsumerNetwork()
+                ulnDatastoreUtil.removeLogicalRouterFromDsIfExists(consTenantId, logicalNetwork.getConsumerNetwork()
                     .getLogicalRouterId());
             }
             if (logicalNetwork.getProviderNetwork().getLogicalRouterId() != null) {
-                UlnDatastoreApi.removeLogicalRouterFromDsIfExists(provTenantId, logicalNetwork.getProviderNetwork()
+                ulnDatastoreUtil.removeLogicalRouterFromDsIfExists(provTenantId, logicalNetwork.getProviderNetwork()
                     .getLogicalRouterId());
             }
         }
@@ -550,19 +558,19 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
         LogicalRouterBuilder provLR = initLogicalRouterBuilder(provEpg, faasTenantId,
                 isProviderPublic(externalImplicitGroup));
 
-        if (!UlnDatastoreApi.attachAndSubmitToDs(consLR, provLR, new Pair<>(null, privateSecRulesId), null)) {
+        if (!ulnDatastoreUtil.attachAndSubmitToDs(consLR, provLR, new Pair<>(null, privateSecRulesId), null)) {
             LOG.error("Failed to join Logical Routers in a Logical Network");
             return;
         }
 
-        if (!UlnDatastoreApi.attachAndSubmitToDs(consLR.getUuid(), lNetbuilder.getConsumerNetwork()
+        if (!ulnDatastoreUtil.attachAndSubmitToDs(consLR.getUuid(), lNetbuilder.getConsumerNetwork()
             .getLogicalSwitchId(), faasTenantId, new Pair<>(LocationType.RouterType, LocationType.SwitchType))) {
             LOG.error("Failed to join Consumer Logical Router to Logical Switch in a Logical Network");
             return;
         }
         LOG.debug("Attached Consumer Router {} to Consumer Switch {}", consLR.getUuid().getValue(),
                 lNetbuilder.getConsumerNetwork().getLogicalSwitchId().getValue());
-        if (!UlnDatastoreApi.attachAndSubmitToDs(provLR.getUuid(), lNetbuilder.getProviderNetwork()
+        if (!ulnDatastoreUtil.attachAndSubmitToDs(provLR.getUuid(), lNetbuilder.getProviderNetwork()
             .getLogicalSwitchId(), faasTenantId, new Pair<>(LocationType.RouterType, LocationType.SwitchType))) {
             LOG.error("Failed to join Provider Logical Router to Logical Switch in a Logical Network");
             return;
@@ -612,11 +620,11 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
         if (isConsumerPublic(externalImplicitGroup)) {
             Uuid faasTenantId = getFaasTenantId(gbpTenantId);
             LogicalRouterBuilder consLR = initLogicalRouterBuilder(consEpg, faasTenantId, true);
-            UlnDatastoreApi.submitLogicalRouterToDs(consLR.build());
+            ulnDatastoreUtil.submitLogicalRouterToDs(consLR.build());
             ConsumerNetworkBuilder cNetBuilder = new ConsumerNetworkBuilder(lNetbuilder.getConsumerNetwork());
             cNetBuilder.setLogicalRouterId(consLR.getUuid());
             lNetbuilder.setConsumerNetwork(cNetBuilder.build());
-            if (!UlnDatastoreApi.attachAndSubmitToDs(consLR.getUuid(), lNetbuilder.getConsumerNetwork()
+            if (!ulnDatastoreUtil.attachAndSubmitToDs(consLR.getUuid(), lNetbuilder.getConsumerNetwork()
                 .getLogicalSwitchId(), faasTenantId, new Pair<>(LocationType.RouterType, LocationType.SwitchType),
                     null, null)) {
                 LOG.error("Failed to join Consumer Public Logical Router to Logical Switch in a Logical Network");
@@ -628,11 +636,11 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
             Uuid faasTenantId = getFaasTenantId(gbpTenantId);
             LogicalRouterBuilder provLR = initLogicalRouterBuilder(provEpg, faasTenantId, true);
             provLR.setPublic(true);
-            UlnDatastoreApi.submitLogicalRouterToDs(provLR.build());
+            ulnDatastoreUtil.submitLogicalRouterToDs(provLR.build());
             ProviderNetworkBuilder cNetBuilder = new ProviderNetworkBuilder(lNetbuilder.getProviderNetwork());
             cNetBuilder.setLogicalRouterId(provLR.getUuid());
             lNetbuilder.setProviderNetwork(cNetBuilder.build());
-            if (!UlnDatastoreApi.attachAndSubmitToDs(provLR.getUuid(), lNetbuilder.getProviderNetwork()
+            if (!ulnDatastoreUtil.attachAndSubmitToDs(provLR.getUuid(), lNetbuilder.getProviderNetwork()
                 .getLogicalSwitchId(), faasTenantId, new Pair<>(LocationType.RouterType, LocationType.SwitchType),
                     null, null)) {
                 LOG.error("Failed to join Provider Public Logical Router to Logical Switch in a Logical Network");
@@ -693,16 +701,16 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
         LogicalSwitchBuilder consLS = initLogicalSwitchBuilder(consEpg, faasTenantId);
         LogicalSwitchBuilder provLS = initLogicalSwitchBuilder(provEpg, faasTenantId);
         if (layer2SecRulesId != null) {
-            if (!UlnDatastoreApi.attachAndSubmitToDs(consLS, provLS, new Pair<Uuid, Uuid>(null, layer2SecRulesId))) {
+            if (!ulnDatastoreUtil.attachAndSubmitToDs(consLS, provLS, new Pair<Uuid, Uuid>(null, layer2SecRulesId))) {
                 LOG.error("Failed to join Logical Switches in a Logical Network");
                 return null;
             }
         } else {
-            UlnDatastoreApi.submitLogicalSwitchToDs(consLS.build());
-            UlnDatastoreApi.submitLogicalSwitchToDs(provLS.build());
+            ulnDatastoreUtil.submitLogicalSwitchToDs(consLS.build());
+            ulnDatastoreUtil.submitLogicalSwitchToDs(provLS.build());
         }
         for (Uuid subnetId : consFaasSubnetIds) {
-            if (!UlnDatastoreApi.attachAndSubmitToDs(consLS.getUuid(), subnetId, consLS.getTenantId(), new Pair<>(
+            if (!ulnDatastoreUtil.attachAndSubmitToDs(consLS.getUuid(), subnetId, consLS.getTenantId(), new Pair<>(
                     LocationType.SwitchType, LocationType.SubnetType))) {
                 LOG.error("Failed to join Consumer Logical Switch with Subnet {} in a Logical Network", subnetId);
                 return null;
@@ -710,7 +718,7 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
             LOG.debug("Attached Consumer Switch {} to Subnet {}", consLS.getUuid().getValue(), subnetId.getValue());
         }
         for (Uuid subnetId : provFaasSubnetIds) {
-            if (!UlnDatastoreApi.attachAndSubmitToDs(provLS.getUuid(), subnetId, provLS.getTenantId(), new Pair<>(
+            if (!ulnDatastoreUtil.attachAndSubmitToDs(provLS.getUuid(), subnetId, provLS.getTenantId(), new Pair<>(
                     LocationType.SwitchType, LocationType.SubnetType))) {
                 LOG.error("Failed to join Provider Logical Switch with Subnet {} in a Logical Network", subnetId);
                 return null;
@@ -1014,7 +1022,7 @@ public class FaasPolicyManager implements DataTreeChangeListener<ResolvedPolicy>
 
     @VisibleForTesting
     void removeTenantLogicalNetwork(TenantId gbpTenantId, Uuid faasTenantId, boolean unregister) {
-        UlnDatastoreApi.removeTenantFromDsIfExists(faasTenantId);
+        ulnDatastoreUtil.removeTenantFromDsIfExists(faasTenantId);
         synchronized (this) {
             mappedTenants.remove(gbpTenantId);
             Optional<LogicalNetworks> op3 = DataStoreHelper.readFromDs(LogicalDatastoreType.OPERATIONAL,
index 0d97b3bb4c884ef40faaf47e56eff2a81086b6e8..16bbc642df1597a043b8231ac1f8f09408d6558c 100644 (file)
@@ -21,7 +21,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
 import org.opendaylight.groupbasedpolicy.util.IetfModelCodec;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Text;
@@ -47,13 +47,15 @@ public class FaasSubnetManagerListener implements DataTreeChangeListener<Subnet>
     private final DataBroker dataProvider;
     private final TenantId gbpTenantId;
     private final Uuid faasTenantId;
+    private final UlnDatastoreUtil ulnDatastoreUtil;
 
     public FaasSubnetManagerListener(DataBroker dataProvider, TenantId gbpTenantId, Uuid faasTenantId,
-            Executor executor) {
+            Executor executor, UlnDatastoreUtil ulnDatastoreUtil) {
         this.executor = executor;
         this.faasTenantId = faasTenantId;
         this.gbpTenantId = gbpTenantId;
         this.dataProvider = dataProvider;
+        this.ulnDatastoreUtil = ulnDatastoreUtil;
     }
 
     @Override
@@ -69,7 +71,7 @@ public class FaasSubnetManagerListener implements DataTreeChangeListener<Subnet>
                 case WRITE:
                     Subnet updatedSubnet = rootNode.getDataAfter();
                     LOG.debug("Subnet {} is Updated.", updatedSubnet.getId().getValue());
-                    UlnDatastoreApi.submitSubnetToDs(initSubnetBuilder(updatedSubnet).build());
+                    ulnDatastoreUtil.submitSubnetToDs(initSubnetBuilder(updatedSubnet).build());
                     break;
                 case DELETE:
                     Subnet deletedSubnet = rootNode.getDataBefore();
@@ -81,7 +83,7 @@ public class FaasSubnetManagerListener implements DataTreeChangeListener<Subnet>
                     }
                     Uuid faasSubnetId = mappedSubnets.remove(deletedSubnet.getId());
                     if (faasSubnetId != null) {
-                        UlnDatastoreApi.removeSubnetFromDsIfExists(faasTenantId, faasSubnetId);
+                        ulnDatastoreUtil.removeSubnetFromDsIfExists(faasTenantId, faasSubnetId);
                     }
                     break;
                 default:
@@ -99,7 +101,7 @@ public class FaasSubnetManagerListener implements DataTreeChangeListener<Subnet>
         if (subnets != null) {
             for (Subnet subnet : subnets) {
                 LOG.debug("Loading Subnet {}", subnet.getId().getValue());
-                UlnDatastoreApi.submitSubnetToDs(initSubnetBuilder(subnet).build());
+                ulnDatastoreUtil.submitSubnetToDs(initSubnetBuilder(subnet).build());
             }
         }
     }
index 887b71081f4b47a6e1b997f23a912fd458637fbe..5679d16a1366b2632f0f80657df0cbc5ea3e3a8e 100644 (file)
@@ -12,7 +12,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
@@ -38,9 +37,8 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.security.rules.rev151013.security.rule.groups.attributes.security.rule.groups.container.SecurityRuleGroups;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.security.rules.rev151013.security.rule.groups.attributes.security.rule.groups.container.security.rule.groups.SecurityRuleGroup;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.security.rules.rev151013.security.rule.groups.attributes.security.rule.groups.container.security.rule.groups.security.rule.group.SecurityRule;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;
@@ -61,12 +59,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.subject.RuleBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ClassifierInstance;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
 
 @RunWith(PowerMockRunner.class)
-@PrepareForTest(UlnDatastoreApi.class)
 public class FaasContractManagerListenerCovrgTest {
 
     private static final ClauseName CLAUSE_NAME = new ClauseName("clause-1");
@@ -77,6 +72,7 @@ public class FaasContractManagerListenerCovrgTest {
     private final TenantId gbpTenantId = new TenantId("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
     private final Uuid faasTenantId = new Uuid("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
     private DataBroker dataProvider;
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -85,16 +81,12 @@ public class FaasContractManagerListenerCovrgTest {
         dataProvider = mock(DataBroker.class);
 
         listener = new FaasContractManagerListener(dataProvider, gbpTenantId, faasTenantId,
-                MoreExecutors.directExecutor());
+                MoreExecutors.directExecutor(), mockUlnDatastoreUtil);
     }
 
     @SuppressWarnings("unchecked")
     @Test
     public void testExecuteEvent() throws ReadFailedException {
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.submitSecurityGroupsToDs(any(SecurityRuleGroups.class));
-
         ReadWriteTransaction rwTx = mock(ReadWriteTransaction.class);
         WriteTransaction woTx = mock(WriteTransaction.class);
         CheckedFuture<Void, TransactionCommitFailedException> futureVoid = mock(CheckedFuture.class);
index 3049fabc8540c2ac2920a9047bcb1d7d20e22b7c..6e9ab4423f1f06892a5f5ef3f9f9df99e1f7abd4 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.groupbasedpolicy.renderer.faas;
 
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -18,14 +18,13 @@ import com.google.common.util.concurrent.MoreExecutors;
 import java.util.Collections;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.security.rules.rev151013.security.rule.groups.attributes.security.rule.groups.container.SecurityRuleGroups;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
@@ -34,18 +33,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.ContractBuilder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 
-@PrepareForTest(UlnDatastoreApi.class)
-@RunWith(PowerMockRunner.class)
 public class FaasContractManagerListenerTest {
 
     private InstanceIdentifier<DataObject> contractId;
     private MockFaasContractManagerListener contractManagerListener;
     private final TenantId gbpTenantId = new TenantId("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
     private final Uuid faasTenantId = new Uuid("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -53,13 +48,12 @@ public class FaasContractManagerListenerTest {
         contractId = mock(InstanceIdentifier.class);
         contractId = mock(InstanceIdentifier.class);
         DataBroker dataProvider = mock(DataBroker.class);
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
         WriteTransaction writeTransaction = mock(WriteTransaction.class);
         when(dataProvider.newWriteOnlyTransaction()).thenReturn(writeTransaction);
         CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = mock(CheckedFuture.class);
         when(writeTransaction.submit()).thenReturn(checkedFuture);
         contractManagerListener = new MockFaasContractManagerListener(dataProvider, gbpTenantId, faasTenantId,
-                MoreExecutors.directExecutor());
+                MoreExecutors.directExecutor(), mockUlnDatastoreUtil);
     }
 
     @SuppressWarnings("unchecked")
@@ -67,11 +61,7 @@ public class FaasContractManagerListenerTest {
     public void testOnDataChangeContract() {
         // prepare input test data
         ArgumentCaptor<SecurityRuleGroups> captor = ArgumentCaptor.forClass(SecurityRuleGroups.class);
-        try {
-            PowerMockito.doNothing().when(UlnDatastoreApi.class, "submitSecurityGroupsToDs", captor.capture());
-        } catch (Exception e) {
-            fail("testOnDataChangeContract: Exception = " + e.toString());
-        }
+        doNothing().when(mockUlnDatastoreUtil).submitSecurityGroupsToDs(captor.capture());
 
         Uuid expectedFaasSecId = new Uuid("c4511aac-ae43-11e5-bf7f-feff819cdc9f");
         contractManagerListener.setExpectedFaasSecId(expectedFaasSecId);
index c3edecce90bcc3e7429e91e5920f6e805d245374..b1c2ffa08c35989995987325c8e5b01a10aa14d3 100644 (file)
@@ -31,6 +31,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.groupbasedpolicy.util.IidFactory;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
@@ -57,6 +58,7 @@ public class FaasEndpointManagerListenerTest {
     private MockFaasEndpointManagerListener endpointManagerListener;
     private MockFaasPolicyManager policyManager;
     private final DataBroker dataProvider = mock(DataBroker.class);
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -68,7 +70,8 @@ public class FaasEndpointManagerListenerTest {
         when(dataProvider.newWriteOnlyTransaction()).thenReturn(writeTransaction);
         CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = mock(CheckedFuture.class);
         when(writeTransaction.submit()).thenReturn(checkedFuture);
-        policyManager = new MockFaasPolicyManager(dataProvider, mock(ScheduledExecutorService.class));
+        policyManager = new MockFaasPolicyManager(dataProvider, mock(ScheduledExecutorService.class),
+                mockUlnDatastoreUtil);
         endpointManagerListener = new MockFaasEndpointManagerListener(policyManager, dataProvider,
                 MoreExecutors.directExecutor());
 
index b5179f45fc11a44cbf93f75ddb0b72e6a4241638..9046e5e95288b4aed6a512b53e379bf6bf38b55d 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.groupbasedpolicy.renderer.faas;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
@@ -25,7 +24,6 @@ import java.util.List;
 import java.util.concurrent.Executor;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
@@ -34,7 +32,7 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.groupbasedpolicy.util.IidFactory;
 import org.opendaylight.groupbasedpolicy.util.TenantUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
@@ -74,12 +72,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.p
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.resolved.policy.policy.rule.group.with.endpoint.constraints.PolicyRuleGroupBuilder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(UlnDatastoreApi.class)
 public class FaasPolicyManagerCovrgTest {
 
     private InstanceIdentifier<DataObject> policyId;
@@ -98,6 +91,7 @@ public class FaasPolicyManagerCovrgTest {
     private final SubnetId subnetId = new SubnetId("subnetId");
     private final Uuid dummyUuid1 = new Uuid("2eb98cf5-086c-4a81-8a4e-0c3b4566108b");
     private final Uuid dummyUuid2 = new Uuid("3eb98cf5-086c-4a81-8a4e-0c3b4566108b");
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -115,7 +109,7 @@ public class FaasPolicyManagerCovrgTest {
 
     @Test
     public void testConstructor() throws Exception {
-        FaasPolicyManager other = new MockFaasPolicyManager(dataProvider, executor);
+        FaasPolicyManager other = new MockFaasPolicyManager(dataProvider, executor, mockUlnDatastoreUtil);
 
         verify(dataProvider).registerDataTreeChangeListener(new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL,
                 InstanceIdentifier.builder(ResolvedPolicies.class).child(ResolvedPolicy.class).build()), other);
@@ -174,7 +168,7 @@ public class FaasPolicyManagerCovrgTest {
         when(futureLogicalNetworks.checkedGet()).thenReturn(optLogicalNetworks);
 
         EndpointGroupId epgId = new EndpointGroupId("epgId");
-        FaasPolicyManager policyManager = spy(new FaasPolicyManager(dataProvider, executor));
+        FaasPolicyManager policyManager = spy(new FaasPolicyManager(dataProvider, executor, mockUlnDatastoreUtil));
         doNothing().when(policyManager).removeTenantLogicalNetwork(tenantId, faasTenantId, false);
 
         policyManager.registerTenant(tenantId, epgId);
@@ -245,11 +239,7 @@ public class FaasPolicyManagerCovrgTest {
         when(optMappedTenant.isPresent()).thenReturn(true);
         when(futureMappedTenant.checkedGet()).thenReturn(optMappedTenant);
 
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.removeTenantFromDsIfExists(any(Uuid.class));
-
-        FaasPolicyManager policyManager = spy(new FaasPolicyManager(dataProvider, executor));
+        FaasPolicyManager policyManager = spy(new FaasPolicyManager(dataProvider, executor, mockUlnDatastoreUtil));
 
         policyManager.removeTenantLogicalNetwork(tenantId, faasTenantId);
     }
@@ -488,13 +478,7 @@ public class FaasPolicyManagerCovrgTest {
                 .build();
         ExternalImplicitGroup externalImplicitGroup = ExternalImplicitGroup.ProviderEpg;
 
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.removeLogicalSwitchFromDsIfExists(any(Uuid.class), any(Uuid.class));
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.removeLogicalRouterFromDsIfExists(any(Uuid.class), any(Uuid.class));
-
-        FaasPolicyManager policyManager = new FaasPolicyManager(dataProvider, executor);
+        FaasPolicyManager policyManager = new FaasPolicyManager(dataProvider, executor, mockUlnDatastoreUtil);
         ReadWriteTransaction rwTx = mock(ReadWriteTransaction.class);
         CheckedFuture<Optional<LogicalNetwork>, ReadFailedException> futureLogicalNetwork =
                 mock(CheckedFuture.class);
@@ -551,7 +535,7 @@ public class FaasPolicyManagerCovrgTest {
 
     @Test
     public void testRemoveLogicalNetwork_null() {
-        FaasPolicyManager policyManager = new FaasPolicyManager(dataProvider, executor);
+        FaasPolicyManager policyManager = new FaasPolicyManager(dataProvider, executor, mockUlnDatastoreUtil);
 
         policyManager.removeLogicalNetwork(null);
     }
index 5067535447dc5450e86e84c2c4c82e40afb8ae81..2cac6cd59850bebdd6442d7d436774a25fd1a6b5 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
@@ -66,6 +67,7 @@ public class FaasPolicyManagerTest {
     Uuid faasTenantId = new Uuid("0eb98cf5-086c-4a81-8a4e-0c3b4566108b");
     Uuid faasSecRulesId = new Uuid("1eb98cf5-086c-4a81-8a4e-0c3b4566108b");
     L3ContextId l3Context = new L3ContextId("l3ContextId");
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -83,7 +85,8 @@ public class FaasPolicyManagerTest {
     @Test
     public void testLayer2ResolvedPolicyWithImpExternalEpg() {
         // prepare input test data
-        MockFaasPolicyManager policyManager = new MockFaasPolicyManager(dataProvider, MoreExecutors.directExecutor());
+        MockFaasPolicyManager policyManager = new MockFaasPolicyManager(dataProvider, MoreExecutors.directExecutor(),
+                mockUlnDatastoreUtil);
 
         // mock input test policy
         policyManager.storeTestEpg(makeTestEndpointGroup(consumerEpgId));
@@ -127,7 +130,8 @@ public class FaasPolicyManagerTest {
     @Test
     public void testLayer3ResolvedPolicy() {
         // prepare input test data
-        MockFaasPolicyManager policyManager = new MockFaasPolicyManager(dataProvider, MoreExecutors.directExecutor());
+        MockFaasPolicyManager policyManager = new MockFaasPolicyManager(dataProvider, MoreExecutors.directExecutor(),
+                mockUlnDatastoreUtil);
 
         // mock input test policy
         policyManager.storeTestL3Contextes(makeTestL3Context());
index ca9e9cb6159ef8a4d58029e91c7e1e8ee67dc94d..d8fc976e8b323ac80fbf661c7635ed56bd5a13dd 100644 (file)
@@ -22,7 +22,6 @@ import java.util.Collections;
 import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
@@ -31,7 +30,7 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
@@ -49,12 +48,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.subnet.gateways.PrefixesBuilder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(UlnDatastoreApi.class)
 public class FaasSubnetManagerListenerCovrgTest {
 
     private InstanceIdentifier<Subnet> subnetIid;
@@ -64,6 +58,7 @@ public class FaasSubnetManagerListenerCovrgTest {
     private final Uuid faasTenantId = new Uuid("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
     private final Uuid faasSubnetId = new Uuid("c4511aac-ae43-11e5-bf7f-feff819cdc9f");
     private DataBroker dataProvider;
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -71,19 +66,12 @@ public class FaasSubnetManagerListenerCovrgTest {
         dataProvider = mock(DataBroker.class);
         subnetIid = mock(InstanceIdentifier.class);
         listener = new FaasSubnetManagerListener(dataProvider, gbpTenantId, faasTenantId,
-                MoreExecutors.directExecutor());
+                MoreExecutors.directExecutor(), mockUlnDatastoreUtil);
     }
 
     @SuppressWarnings("unchecked")
     @Test
     public void testOnDataChanged() throws ReadFailedException {
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.submitSubnetToDs(any(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.subnets.rev151013.subnets.container.subnets.Subnet.class));
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.removeSubnetFromDsIfExists(any(Uuid.class), any(Uuid.class));
-
         ReadWriteTransaction rwTx = mock(ReadWriteTransaction.class);
         WriteTransaction woTx = mock(WriteTransaction.class);
         CheckedFuture<Void, TransactionCommitFailedException> futureVoid = mock(CheckedFuture.class);
@@ -115,11 +103,6 @@ public class FaasSubnetManagerListenerCovrgTest {
 
     @Test
     public void testLoadAll() {
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
-        PowerMockito.doNothing().when(UlnDatastoreApi.class);
-        UlnDatastoreApi.submitSubnetToDs(any(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.subnets.rev151013.subnets.container.subnets.Subnet.class));
-
         List<Subnet> subnets = new ArrayList<>();
         List<MappedSubnet> mpSubnets = new ArrayList<>();
 
index 25c17cda085c536f46ee1e26664e47ae28f3aa4d..c25672c541c55c32923ed4c2b5a07c5e602b9aaa 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.groupbasedpolicy.renderer.faas;
 
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -18,14 +18,13 @@ import com.google.common.util.concurrent.MoreExecutors;
 import java.util.Collections;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubnetId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
@@ -33,18 +32,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.SubnetBuilder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 
-@PrepareForTest(UlnDatastoreApi.class)
-@RunWith(PowerMockRunner.class)
 public class FaasSubnetManagerListenerTest {
 
     private InstanceIdentifier<DataObject> subnetId;
     private MockFaasSubnetManagerListener subnetManagerListener;
     private final TenantId gbpTenantId = new TenantId("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
     private final Uuid faasTenantId = new Uuid("b4511aac-ae43-11e5-bf7f-feff819cdc9f");
+    private final UlnDatastoreUtil mockUlnDatastoreUtil = mock(UlnDatastoreUtil.class);
 
     @SuppressWarnings("unchecked")
     @Before
@@ -52,13 +47,12 @@ public class FaasSubnetManagerListenerTest {
         subnetId = mock(InstanceIdentifier.class);
         subnetId = mock(InstanceIdentifier.class);
         DataBroker dataProvider = mock(DataBroker.class);
-        PowerMockito.mockStatic(UlnDatastoreApi.class);
         WriteTransaction writeTransaction = mock(WriteTransaction.class);
         when(dataProvider.newWriteOnlyTransaction()).thenReturn(writeTransaction);
         CheckedFuture<Void, TransactionCommitFailedException> checkedFuture = mock(CheckedFuture.class);
         when(writeTransaction.submit()).thenReturn(checkedFuture);
         subnetManagerListener = new MockFaasSubnetManagerListener(dataProvider, gbpTenantId, faasTenantId,
-                MoreExecutors.directExecutor());
+                MoreExecutors.directExecutor(), mockUlnDatastoreUtil);
     }
 
     @SuppressWarnings("unchecked")
@@ -67,11 +61,8 @@ public class FaasSubnetManagerListenerTest {
         // prepare input test data
         ArgumentCaptor<org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.subnets.rev151013.subnets.container.subnets.Subnet> captor = ArgumentCaptor.forClass(
                 org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.subnets.rev151013.subnets.container.subnets.Subnet.class);
-        try {
-            PowerMockito.doNothing().when(UlnDatastoreApi.class, "submitSubnetToDs", captor.capture());
-        } catch (Exception e) {
-            fail("testOnDataChangeSubnet: Exception = " + e.toString());
-        }
+        doNothing().when(mockUlnDatastoreUtil).submitSubnetToDs(captor.capture());
+
         Uuid expectedFaasSubnetId = new Uuid("c4511aac-ae43-11e5-bf7f-feff819cdc9f");
         subnetManagerListener.setExpectedFaasSubnetId(expectedFaasSubnetId);
         Subnet testSubnet = makeTestSubnet();
index ebae293008b764e3d263740f3921896655131f61..4595846ad87c39942fbff68e5249020fd7a19713 100644 (file)
@@ -11,6 +11,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.concurrent.Executor;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.security.rules.rev151013.security.rule.groups.attributes.security.rule.groups.container.SecurityRuleGroupsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
@@ -22,8 +23,8 @@ public class MockFaasContractManagerListener extends FaasContractManagerListener
     private Uuid expectedFaasSecId;
 
     public MockFaasContractManagerListener(DataBroker dataProvider, TenantId gbpTenantId, Uuid faasTenantId,
-            Executor executor) {
-        super(dataProvider, gbpTenantId, faasTenantId, executor);
+            Executor executor, UlnDatastoreUtil ulnDatastoreUtil) {
+        super(dataProvider, gbpTenantId, faasTenantId, executor, ulnDatastoreUtil);
     }
 
     // *******************************************************
index 628d31f5e39a926f92f48ab388635c580ccc1691..0764b43451cf7ad5b7ce373d12e5e5d9ec2cdc41 100644 (file)
@@ -16,6 +16,7 @@ import java.util.Map;
 import java.util.concurrent.Executor;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.faas.uln.datastore.api.Pair;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
@@ -45,8 +46,8 @@ public class MockFaasPolicyManager extends FaasPolicyManager {
     private ServiceCommunicationLayer comLayer;
     private ExternalImplicitGroup externalImplicitGroup;
 
-    public MockFaasPolicyManager(DataBroker dataBroker, Executor executor) {
-        super(dataBroker, executor);
+    public MockFaasPolicyManager(DataBroker dataBroker, Executor executor, UlnDatastoreUtil ulnDatastoreUtil) {
+        super(dataBroker, executor, ulnDatastoreUtil);
     }
 
     // *******************************************************
index ab0abcbad70dcf212c5a8e59183114312eff3fd0..e04d548dfc4a17e29247db73f05bdff6cbfeb59c 100644 (file)
@@ -11,6 +11,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.concurrent.Executor;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.faas.uln.datastore.api.UlnDatastoreUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.subnets.rev151013.subnets.container.subnets.SubnetBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
@@ -23,8 +24,8 @@ public class MockFaasSubnetManagerListener extends FaasSubnetManagerListener {
     private Uuid expectedFaasSubnetId;
 
     public MockFaasSubnetManagerListener(DataBroker dataProvider, TenantId gbpTenantId, Uuid faasTenantId,
-            Executor executor) {
-        super(dataProvider, gbpTenantId, faasTenantId, executor);
+            Executor executor, UlnDatastoreUtil ulnDatastoreUtil) {
+        super(dataProvider, gbpTenantId, faasTenantId, executor, ulnDatastoreUtil);
     }
 
     // *******************************************************