X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-persister-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fpersist%2Fimpl%2Fosgi%2FConfigPersisterTest.java;h=b998b9eff0bee8d9e2224104a9bd0f09491f3701;hb=071a641d7c12c0e6112d5ce0afe806b54f116ed2;hp=493ecd9250262959e78523c4ed1dc49c7d177474;hpb=a2c374bb7bd34eb27bac4db587e843378181762e;p=controller.git diff --git a/opendaylight/netconf/config-persister-impl/src/test/java/org/opendaylight/controller/netconf/persist/impl/osgi/ConfigPersisterTest.java b/opendaylight/netconf/config-persister-impl/src/test/java/org/opendaylight/controller/netconf/persist/impl/osgi/ConfigPersisterTest.java index 493ecd9250..b998b9eff0 100644 --- a/opendaylight/netconf/config-persister-impl/src/test/java/org/opendaylight/controller/netconf/persist/impl/osgi/ConfigPersisterTest.java +++ b/opendaylight/netconf/config-persister-impl/src/test/java/org/opendaylight/controller/netconf/persist/impl/osgi/ConfigPersisterTest.java @@ -7,13 +7,20 @@ */ package org.opendaylight.controller.netconf.persist.impl.osgi; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; import com.google.common.collect.Sets; +import java.io.IOException; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.config.api.ConflictingVersionException; +import org.opendaylight.controller.netconf.api.Capability; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; -import org.opendaylight.controller.netconf.mapping.api.Capability; import org.opendaylight.controller.netconf.mapping.api.HandlingPriority; import org.opendaylight.controller.netconf.mapping.api.NetconfOperation; import org.opendaylight.controller.netconf.mapping.api.NetconfOperationChainedExecution; @@ -25,30 +32,22 @@ import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.xml.sax.SAXException; -import javax.management.MBeanServer; -import java.io.IOException; -import java.lang.management.ManagementFactory; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.mock; - public class ConfigPersisterTest { - private static final Logger logger = LoggerFactory.getLogger(ConfigPersisterTest.class); + private static final Logger LOG = LoggerFactory.getLogger(ConfigPersisterTest.class); private MockedBundleContext ctx; private ConfigPersisterActivator configPersisterActivator; - private static final MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); private TestingExceptionHandler handler; - - private void setUpContextAndStartPersister(String requiredCapability) throws Exception { + private void setUpContext(String requiredCapability) throws Exception { DummyAdapterWithInitialSnapshot.expectedCapability = requiredCapability; ctx = new MockedBundleContext(1000, 1000); configPersisterActivator = new ConfigPersisterActivator(); + } + + private void setUpContextAndStartPersister(String requiredCapability, final NetconfOperationService conflictingService) throws Exception { + setUpContext(requiredCapability); + doReturn(conflictingService).when(ctx.serviceFactory).createService(anyString()); configPersisterActivator.start(ctx.getBundleContext()); } @@ -66,31 +65,28 @@ public class ConfigPersisterTest { @Test public void testPersisterNotAllCapabilitiesProvided() throws Exception { - setUpContextAndStartPersister("required-cap"); + setUpContextAndStartPersister("required-cap", getConflictingService()); Thread.sleep(2000); - handler.assertException(IllegalStateException.class, "Max wait for capabilities reached.Not enough capabilities " + - "for . Expected but not found: [required-cap]"); + handler.assertException(IllegalStateException.class, "Required yang models that are missing: [required-cap]"); } @Test public void testPersisterSuccessfulPush() throws Exception { - setUpContextAndStartPersister("cap1"); - NetconfOperationService service = getWorkingService(getOKDocument()); - doReturn(service).when(ctx.serviceFactory).createService(anyString()); + setUpContextAndStartPersister("cap1", getWorkingService(getOKDocument())); Thread.sleep(2000); assertCannotRegisterAsJMXListener_pushWasSuccessful(); } // this means pushing of config was successful public void assertCannotRegisterAsJMXListener_pushWasSuccessful() { - handler.assertException(RuntimeException.class, "Cannot register as JMX listener to netconf"); + handler.assertException(IllegalStateException.class, "Cannot register as JMX listener to netconf"); } public NetconfOperationService getWorkingService(Document document) throws SAXException, IOException, NetconfDocumentedException { NetconfOperationService service = mock(NetconfOperationService.class); Capability capability = mock(Capability.class); - doReturn(Sets.newHashSet(capability)).when(service).getCapabilities(); +// doReturn(Sets.newHashSet(capability)).when(service).getCapabilities(); doReturn("cap1").when(capability).getCapabilityUri(); @@ -113,9 +109,8 @@ public class ConfigPersisterTest { @Test public void testPersisterConflictingVersionException() throws Exception { - setUpContextAndStartPersister("cap1"); + setUpContextAndStartPersister("cap1", getConflictingService()); - doReturn(getConflictingService()).when(ctx.serviceFactory).createService(anyString()); Thread.sleep(2000); handler.assertException(IllegalStateException.class, "Max wait for conflicting version stabilization timeout"); } @@ -135,12 +130,18 @@ public class ConfigPersisterTest { @Test public void testSuccessConflictingVersionException() throws Exception { - setUpContextAndStartPersister("cap1"); - doReturn(getConflictingService()).when(ctx.serviceFactory).createService(anyString()); - Thread.sleep(500); - // working service: - logger.info("Switching to working service **"); - doReturn(getWorkingService(getOKDocument())).when(ctx.serviceFactory).createService(anyString()); + LOG.info("testSuccessConflictingVersionException starting"); + + setUpContext("cap1"); + + NetconfOperationService conflictingService = getConflictingService(); + NetconfOperationService workingService = getWorkingService(getOKDocument()); + + doReturn(conflictingService).doReturn(conflictingService).doReturn(conflictingService). + doReturn(workingService).when(ctx.serviceFactory).createService(anyString()); + + configPersisterActivator.start(ctx.getBundleContext()); + Thread.sleep(1000); assertCannotRegisterAsJMXListener_pushWasSuccessful(); }