2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.netconf.monitoring.osgi;
11 import static org.mockito.Matchers.any;
12 import static org.mockito.Matchers.anyString;
13 import static org.mockito.Mockito.doNothing;
14 import static org.mockito.Mockito.doReturn;
15 import static org.mockito.Mockito.times;
16 import static org.mockito.Mockito.verify;
17 import java.util.Hashtable;
18 import org.junit.Before;
19 import org.junit.Test;
20 import org.mockito.Mock;
21 import org.mockito.MockitoAnnotations;
22 import org.opendaylight.controller.netconf.api.monitoring.NetconfMonitoringService;
23 import org.opendaylight.controller.netconf.mapping.api.NetconfOperationServiceFactory;
24 import org.osgi.framework.BundleContext;
25 import org.osgi.framework.Filter;
26 import org.osgi.framework.ServiceReference;
27 import org.osgi.framework.ServiceRegistration;
29 public class NetconfMonitoringServiceTrackerTest {
32 private ServiceReference<NetconfMonitoringService> reference;
34 private BundleContext context;
36 private ServiceRegistration<?> serviceRegistration;
38 private Filter filter;
40 private NetconfMonitoringService monitoringService;
43 public void setUp() throws Exception {
44 MockitoAnnotations.initMocks(this);
45 doReturn(serviceRegistration).when(context).registerService(any(Class.class), any(NetconfOperationServiceFactory.class), any(Hashtable.class));
46 doNothing().when(serviceRegistration).unregister();
47 doReturn(filter).when(context).createFilter(anyString());
48 doReturn("").when(reference).toString();
49 doReturn(monitoringService).when(context).getService(any(ServiceReference.class));
53 public void testAddingService() throws Exception {
54 NetconfMonitoringServiceTracker tracker = new NetconfMonitoringServiceTracker(context);
55 tracker.addingService(reference);
56 verify(context, times(1)).registerService(any(Class.class), any(NetconfOperationServiceFactory.class), any(Hashtable.class));
57 tracker.removedService(reference, null);
58 verify(serviceRegistration, times(1)).unregister();