+++ /dev/null
-/*
- * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.mdsal.dom.broker.osgi;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.CALLS_REAL_METHODS;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import java.lang.reflect.Field;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-
-public class SchemaServiceActivatorTest {
-
- @Test
- public void basicTest() throws Exception {
- final BundleContext bundleContext = mock(BundleContext.class);
- doReturn(mock(Filter.class)).when(bundleContext).createFilter(any());
- doNothing().when(bundleContext).addBundleListener(any());
- doReturn(new Bundle[] {}).when(bundleContext).getBundles();
- doNothing().when(bundleContext).addServiceListener(any(), any());
- doReturn(new ServiceReference<?>[] {}).when(bundleContext).getServiceReferences(anyString(), any());
- doReturn(mock(ServiceRegistration.class)).when(bundleContext).registerService(any(Class.class), any(), any());
- doNothing().when(bundleContext).removeBundleListener(any());
- doNothing().when(bundleContext).removeServiceListener(any());
- final SchemaServiceActivator schemaServiceActivator = new SchemaServiceActivator();
- schemaServiceActivator.start(bundleContext);
-
- final ServiceRegistration<?> registration = mock(ServiceRegistration.class);
- final OsgiBundleScanningSchemaService osgiBundle =
- mock(OsgiBundleScanningSchemaService.class, CALLS_REAL_METHODS);
-
- final Field schemaServiceRegField = SchemaServiceActivator.class.getDeclaredField("schemaServiceReg");
- schemaServiceRegField.setAccessible(true);
- schemaServiceRegField.set(schemaServiceActivator, registration);
-
- final Field schemaServiceField = SchemaServiceActivator.class.getDeclaredField("schemaService");
- schemaServiceField.setAccessible(true);
- schemaServiceField.set(schemaServiceActivator, osgiBundle);
-
- doNothing().when(registration).unregister();
- doNothing().when(osgiBundle).close();
-
- schemaServiceActivator.stop(bundleContext);
- verify(registration).unregister();
- verify(osgiBundle).close();
- }
-
- @SuppressWarnings("checkstyle:IllegalCatch")
- @After
- @Before
- public void destroyInstance() throws Exception {
- try {
- OsgiBundleScanningSchemaService.getInstance();
- OsgiBundleScanningSchemaService.destroyInstance();
- } catch (Exception e) {
- assertTrue(e instanceof IllegalStateException);
- }
- }
-}
\ No newline at end of file