Switch to MD-SAL APIs
[openflowplugin.git] / applications / of-switch-config-pusher / src / test / java / org / opendaylight / openflowplugin / openflow / ofswitch / config / DefaultConfigPusherTest.java
index 6079ed0f1c17cf215213cfcc5f17dfd748cf1ccc..6066452bab69405ca6e2fff256203ab2aa26ec96 100644 (file)
@@ -8,6 +8,10 @@
 
 package org.opendaylight.openflowplugin.openflow.ofswitch.config;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+
 import java.util.Collections;
 import org.junit.After;
 import org.junit.Assert;
@@ -19,13 +23,14 @@ import org.mockito.Captor;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.runners.MockitoJUnitRunner;
-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.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.openflowplugin.api.OFConstants;
+import org.opendaylight.openflowplugin.applications.deviceownershipservice.DeviceOwnershipService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
@@ -35,6 +40,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.module.config.rev141015.Nod
 import org.opendaylight.yang.gen.v1.urn.opendaylight.module.config.rev141015.SetConfigInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 
 /**
  * Test for {@link DefaultConfigPusher}.
@@ -42,22 +48,28 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 @RunWith(MockitoJUnitRunner.class)
 public class DefaultConfigPusherTest {
     private DefaultConfigPusher defaultConfigPusher;
-    private final static InstanceIdentifier<Node> nodeIID = InstanceIdentifier.create(Nodes.class)
+    private static final InstanceIdentifier<Node> NODE_IID = InstanceIdentifier.create(Nodes.class)
             .child(Node.class, new NodeKey(new NodeId("testnode:1")));
     @Mock
     private NodeConfigService nodeConfigService;
     @Mock
     private DataTreeModification<FlowCapableNode> dataTreeModification;
+    @Mock
+    private DeviceOwnershipService deviceOwnershipService;
     @Captor
     private ArgumentCaptor<SetConfigInput> setConfigInputCaptor;
 
     @Before
     public void setUp() throws Exception {
-        defaultConfigPusher = new DefaultConfigPusher(nodeConfigService, Mockito.mock(DataBroker.class));
-        final DataTreeIdentifier<FlowCapableNode> identifier = new DataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, nodeIID);
+        doReturn(RpcResultBuilder.success().buildFuture()).when(nodeConfigService).setConfig(any());
+        defaultConfigPusher = new DefaultConfigPusher(nodeConfigService, Mockito.mock(DataBroker.class),
+                deviceOwnershipService);
+        final DataTreeIdentifier<FlowCapableNode> identifier = DataTreeIdentifier.create(
+                LogicalDatastoreType.OPERATIONAL, NODE_IID.augmentation(FlowCapableNode.class));
         Mockito.when(dataTreeModification.getRootPath()).thenReturn(identifier);
         Mockito.when(dataTreeModification.getRootNode()).thenReturn(Mockito.mock(DataObjectModification.class));
         Mockito.when(dataTreeModification.getRootNode().getModificationType()).thenReturn(ModificationType.WRITE);
+        when(deviceOwnershipService.isEntityOwned(any())).thenReturn(true);
     }
 
     @Test
@@ -67,7 +79,7 @@ public class DefaultConfigPusherTest {
         final SetConfigInput captured = setConfigInputCaptor.getValue();
         Assert.assertEquals(SwitchConfigFlag.FRAGNORMAL.toString(), captured.getFlag());
         Assert.assertEquals(OFConstants.OFPCML_NO_BUFFER, captured.getMissSearchLength());
-        Assert.assertEquals(nodeIID, captured.getNode().getValue());
+        Assert.assertEquals(NODE_IID, captured.getNode().getValue());
     }
 
     @After
@@ -75,4 +87,4 @@ public class DefaultConfigPusherTest {
         defaultConfigPusher.close();
     }
 
-}
\ No newline at end of file
+}