Merge "Bug 2233 - RPC register exception when rpc has no input"
[controller.git] / opendaylight / config / config-manager / src / test / java / org / opendaylight / controller / config / manager / impl / util / OsgiRegistrationUtilTest.java
1 package org.opendaylight.controller.config.manager.impl.util;
2
3 import static org.mockito.Mockito.doNothing;
4 import static org.mockito.Mockito.doReturn;
5 import static org.mockito.Mockito.mock;
6 import static org.mockito.Mockito.verify;
7 import org.junit.Test;
8 import org.mockito.InOrder;
9 import org.mockito.Mockito;
10 import org.osgi.framework.BundleContext;
11 import org.osgi.framework.ServiceRegistration;
12 import org.osgi.util.tracker.BundleTracker;
13 import org.osgi.util.tracker.ServiceTracker;
14
15 public class OsgiRegistrationUtilTest {
16
17     @Test
18     public void testRegisterService() throws Exception {
19         final BundleContext bundleContext = mock(BundleContext.class);
20         ServiceRegistration<?> registration = mockServiceRegistration();
21         doReturn(registration).when(bundleContext).registerService(String.class, "string", null);
22         ServiceRegistration<?> registration2 = mockServiceRegistration();
23         doReturn(registration2).when(bundleContext).registerService(Object.class, "string", null);
24
25         AutoCloseable aggregatedRegister = OsgiRegistrationUtil.registerService(bundleContext, "string", String.class, Object.class);
26         aggregatedRegister.close();
27
28         InOrder inOrder = Mockito.inOrder(registration, registration2);
29         inOrder.verify(registration2).unregister();
30         inOrder.verify(registration).unregister();
31     }
32
33     @Test
34     public void testWrap() throws Exception {
35         final ServiceRegistration<?> serviceReg = mockServiceRegistration();
36         OsgiRegistrationUtil.wrap(serviceReg).close();
37         verify(serviceReg).unregister();
38
39         final BundleTracker<?> tracker = mock(BundleTracker.class);
40         doNothing().when(tracker).close();
41         OsgiRegistrationUtil.wrap(tracker).close();
42         verify(tracker).close();
43
44         final ServiceTracker<?, ?> sTracker = mock(ServiceTracker.class);
45         doNothing().when(sTracker).close();
46         OsgiRegistrationUtil.wrap(sTracker).close();
47         verify(sTracker).close();
48     }
49
50     private ServiceRegistration<?> mockServiceRegistration() {
51         ServiceRegistration<?> mock = mock(ServiceRegistration.class);
52         doNothing().when(mock).unregister();
53         return mock;
54     }
55
56     @Test
57     public void testAggregate() throws Exception {
58
59     }
60 }