import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
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.NotificationPublishService;
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.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
import org.powermock.reflect.Whitebox;
import java.util.ArrayList;
-import java.util.concurrent.ExecutionException;
+import java.util.Collection;
+import java.util.LinkedList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
@Mock private ReadWriteTransaction readWriteTransactionInDataChanged;
@Mock private CheckedFuture<Void, TransactionCommitFailedException> checkedFuture;
- private vnfapiProvider vnfapiProvider;
+ private VnfApiProvider vnfapiProvider;
private String vfModuleName;
private String vfModuleModelId;
private String vnfInstanceId;
doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
doReturn(checkedFuture).when(writeTransaction).submit();
- vnfapiProvider = spy(new vnfapiProvider(dataBroker, notificationPublishService, rpcProviderRegistry,
+ vnfapiProvider = spy(new VnfApiProvider(dataBroker, notificationPublishService, rpcProviderRegistry,
vnfsdnSvcLogicServiceClient));
}
verify(vnfapiServiceRpcRegistration, times(1)).close();
}
- @Test public void onDataChanged() throws Exception {
- AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> asyncDataChangeEvent = mock(AsyncDataChangeEvent.class);
- // instance of Vnfs
- Vnfs vnfs = mock(Vnfs.class);
- doReturn(vnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
- VnfList vnfList = mock(VnfList.class);
- ServiceData serviceData = mock(ServiceData.class);
- doReturn(serviceData).when(vnfList).getServiceData();
- ServiceStatus serviceStatus = mock(ServiceStatus.class);
- doReturn("N").when(serviceStatus).getFinalIndicator();
- doReturn(ServiceStatus.RequestStatus.Synccomplete).when(serviceStatus).getRequestStatus();
- doReturn(serviceStatus).when(vnfList).getServiceStatus();
- ArrayList<VnfList> vnfListList = new ArrayList<>();
- vnfListList.add(vnfList);
- doReturn(vnfListList).when(vnfs).getVnfList();
- doReturn(readWriteTransactionInDataChanged).when(dataBroker).newWriteOnlyTransaction();
- doReturn(checkedFuture).when(readWriteTransactionInDataChanged).submit();
-
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
-
- verify(readWriteTransactionInDataChanged, times(1)).submit();
-
- // instance of PreloadVnfs
- PreloadVnfs preloadVnfs = mock(PreloadVnfs.class);
- doReturn(preloadVnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
- ArrayList<VnfPreloadList> vnfPreloadLists = new ArrayList<>();
- doReturn(vnfPreloadLists).when(preloadVnfs).getVnfPreloadList();
- PreloadData preloadData = mock(PreloadData.class);
- VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class);
- doReturn(preloadData).when(vnfPreloadList).getPreloadData();
- vnfPreloadLists.add(vnfPreloadList);
-
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
-
- verify(readWriteTransactionInDataChanged, times(2)).submit();
-
- // instance of PreloadVnfInstances
- PreloadVnfInstances preloadVnfInstances = mock(PreloadVnfInstances.class);
- doReturn(preloadVnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
- ArrayList<VnfInstancePreloadList> vnfInstancePreloadLists = new ArrayList<>();
- doReturn(vnfInstancePreloadLists).when(preloadVnfInstances).getVnfInstancePreloadList();
- VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
- VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class);
- doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
- vnfInstancePreloadLists.add(vnfInstancePreloadList);
-
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
-
- verify(readWriteTransactionInDataChanged, times(3)).submit();
-
- // instance of VnfInstances
- VnfInstances vnfInstances = mock(VnfInstances.class);
- doReturn(vnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
- ArrayList<VnfInstanceList> vnfInstanceLists = new ArrayList<>();
- doReturn(vnfInstanceLists).when(vnfInstances).getVnfInstanceList();
- VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
- vnfInstanceLists.add(vnfInstanceList);
- VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class);
- doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
- doReturn(serviceStatus).when(vnfInstanceList).getServiceStatus();
-
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
-
- verify(readWriteTransactionInDataChanged, times(4)).submit();
-
- // instance of PreloadVfModules
- PreloadVfModules preloadVfModules = mock(PreloadVfModules.class);
- doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
- ArrayList<VfModulePreloadList> vfModulePreloadLists = new ArrayList<>();
- doReturn(vfModulePreloadLists).when(preloadVfModules).getVfModulePreloadList();
- VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
- vfModulePreloadLists.add(vfModulePreloadList);
- VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
- doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
-
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
-
- verify(readWriteTransactionInDataChanged, times(5)).submit();
-
- // instance of VfModules
- VfModules vfModules = mock(VfModules.class);
- doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
- ArrayList<VfModuleList> vfModuleLists = new ArrayList<>();
- doReturn(vfModuleLists).when(vfModules).getVfModuleList();
- VfModuleList vfModuleList = mock(VfModuleList.class);
- vfModuleLists.add(vfModuleList);
- VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class);
- doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
- doReturn(serviceStatus).when(vfModuleList).getServiceStatus();
-
- vnfapiProvider.onDataChanged(asyncDataChangeEvent);
-
- verify(readWriteTransactionInDataChanged, times(6)).submit();
- }
-
/**
* Test Error case:
* <p>
LogicalDatastoreType configuration = LogicalDatastoreType.CONFIGURATION;
VnfList vnfList = mock(VnfList.class);
VnfListKey vnfListKey = mock(VnfListKey.class);
- doReturn(vnfListKey).when(vnfList).getKey();
+ doReturn(vnfListKey).when(vnfList).key();
InstanceIdentifier<VnfList> vnfListInstanceIdentifier = mock(InstanceIdentifier.class);
dataBroker.newWriteOnlyTransaction().put(configuration, vnfListInstanceIdentifier, vnfList);