2 * Copyright (c) 2016 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.netconf.util.osgi;
11 import static org.mockito.Matchers.any;
12 import static org.mockito.Matchers.eq;
13 import static org.mockito.Mockito.doNothing;
14 import static org.mockito.Mockito.doReturn;
15 import static org.mockito.Mockito.verify;
17 import java.util.Dictionary;
18 import java.util.Hashtable;
19 import org.junit.Before;
20 import org.junit.Test;
21 import org.mockito.Mock;
22 import org.mockito.MockitoAnnotations;
23 import org.osgi.framework.BundleContext;
24 import org.osgi.framework.Constants;
25 import org.osgi.framework.ServiceRegistration;
26 import org.osgi.service.cm.ManagedService;
28 public class NetconfConfigurationActivatorTest {
31 private BundleContext context;
33 private ServiceRegistration<?> registration;
36 public void setUp() throws Exception {
37 MockitoAnnotations.initMocks(this);
38 doReturn(registration).when(context)
39 .registerService(eq(ManagedService.class), any(NetconfConfiguration.class), any());
40 doNothing().when(registration).unregister();
44 public void testStartStop() throws Exception {
45 final NetconfConfigurationActivator activator = new NetconfConfigurationActivator();
46 activator.start(context);
47 final Dictionary<String, String> props = new Hashtable<>();
48 props.put(Constants.SERVICE_PID, "netconf");
49 verify(context).registerService(eq(ManagedService.class), any(NetconfConfiguration.class), eq(props));
50 activator.stop(context);
51 verify(registration).unregister();