1 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.test;
3 import static org.mockito.Mockito.mock;
4 import static org.mockito.Mockito.when;
6 import java.util.HashMap;
7 import java.util.HashSet;
11 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
12 import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
13 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
14 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.endpoint.EndpointManager;
15 import org.opendaylight.yangtools.yang.binding.DataObject;
16 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
18 public class DataChangeListenerTester {
20 private AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> changeMock;
21 private DataChangeListener listener;
23 private Map<InstanceIdentifier<?>, DataObject> testData;
24 private Set<InstanceIdentifier<?>> removedPaths;
26 @SuppressWarnings("unchecked")
27 public DataChangeListenerTester(DataChangeListener listener) {
28 changeMock = mock(AsyncDataChangeEvent.class);
29 testData = new HashMap<>();
30 removedPaths = new HashSet<>();
32 this.listener = listener;
34 when(changeMock.getCreatedData()).thenReturn(testData);
35 when(changeMock.getOriginalData()).thenReturn(testData);
36 when(changeMock.getUpdatedData()).thenReturn(testData);
37 when(changeMock.getRemovedPaths()).thenReturn(removedPaths);
40 public DataChangeListenerTester setDataObject(InstanceIdentifier<DataObject> iid, DataObject dataObject){
42 return addDataObject(iid, dataObject);
45 public DataChangeListenerTester addDataObject(InstanceIdentifier<DataObject> iid, DataObject dataObject){
46 testData.put(iid, dataObject);
50 public DataChangeListenerTester setRemovedPath(InstanceIdentifier<DataObject> iid){
52 return addRemovedPath(iid);
55 public DataChangeListenerTester addRemovedPath(InstanceIdentifier<DataObject> iid){
56 removedPaths.add(iid);
60 public void callOnDataChanged(){
61 listener.onDataChanged(changeMock);