/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.servicemanager; import static org.junit.Assert.*; import org.dspace.kernel.DSpaceKernel; import org.dspace.kernel.DSpaceKernelManager; import org.dspace.utils.DSpace; import org.junit.Test; /** * Make sure the DSpace static cover works * * @author Aaron Zeckoski (azeckoski @ gmail.com) */ public class DSpaceTest { @Test public void testDSpaceObject() { try { DSpace dspace = new DSpace(); dspace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } DSpaceKernelImpl kernelImpl = DSpaceKernelInit.getKernel(null); kernelImpl.start(); // triggers the init DSpaceKernel kernel = new DSpaceKernelManager().getKernel(); assertNotNull(kernel); assertEquals(kernel, kernelImpl); DSpace dspace = new DSpace(); Object o = dspace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); // repeat a few times o = dspace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); o = dspace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); DSpace dspace2 = new DSpace(); assertNotNull(dspace2.getServiceManager()); assertEquals(dspace.getServiceManager(), dspace2.getServiceManager()); // REPEAT kernel = new DSpaceKernelManager().getKernel(); o = dspace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); // repeat a few times o = dspace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); o = dspace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); //trash the references kernelImpl.destroy(); kernelImpl = null; kernel = null; dspace = null; dspace2 = null; o = null; } /********* @Test public void testStaticCover() { try { DSpace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } DSpaceKernelImpl kernelImpl = DSpaceKernelInit.getKernel(null); kernelImpl.start(); // triggers the init DSpaceKernel kernel = new DSpaceKernelManager().getKernel(); assertNotNull(kernel); assertEquals(kernel, kernelImpl); Object o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); // repeat a few times o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); // REPEAT kernel = new DSpaceKernelManager().getKernel(); // init the kernel o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); // repeat a few times o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); kernelImpl.destroy(); // cleanup the kernel try { DSpace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } } @Test public void testRestarts() { try { DSpace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } DSpaceKernelImpl kernelImpl = DSpaceKernelInit.getKernel(null); DSpaceKernelImpl kernelImpl2 = DSpaceKernelInit.getKernel(null); assertEquals(kernelImpl, kernelImpl2); kernelImpl2 = null; kernelImpl.start(); // triggers the init DSpaceKernel kernel = new DSpaceKernelManager().getKernel(); assertNotNull(kernel); assertEquals(kernel, kernelImpl); Object o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); kernelImpl.stop(); // stop the kernel try { DSpace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } kernelImpl.start(); // triggers the init kernel = new DSpaceKernelManager().getKernel(); o = DSpace.getServiceManager(); assertNotNull(o); assertEquals(o, kernel.getServiceManager()); kernelImpl.stop(); // stop the kernel try { DSpace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } kernelImpl2 = DSpaceKernelInit.getKernel(null); // check it is the same assertEquals(kernelImpl, kernelImpl2); kernelImpl2.start(); // triggers the init DSpaceKernel kernel2 = new DSpaceKernelManager().getKernel(); assertNotNull(kernel2); assertEquals(kernel2, kernelImpl2); assertEquals(kernel, kernel2); Object o2 = DSpace.getServiceManager(); assertNotNull(o2); assertEquals(o2, kernel2.getServiceManager()); // now try to startup the kernel again (should not start again) kernelImpl.start(); assertEquals(kernelImpl2.getServiceManager(), kernelImpl.getServiceManager()); kernelImpl2.destroy(); // cleanup the kernel kernelImpl.destroy(); // should not fail try { DSpace.getServiceManager(); fail("should have thrown exception"); } catch (IllegalStateException e) { assertNotNull(e.getMessage()); } } ******/ }