Update of /cvsroot/smartfrog/core/components/junit/test/org/smartfrog/services/junit/test/unit In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv15344/core/components/junit/test/org/smartfrog/services/junit/test/unit Added Files: BufferingListenerTest.java ConsoleListenerTest.java ListFlatteningTest.java OneHostXMLListenerTest.java Log Message: 1. optimise imports (most of the changes) 2. move unit tests to test/unit for isolated running 3. html listener supports css as resources or inline files. Handy. --- NEW FILE: OneHostXMLListenerTest.java --- /** (C) Copyright 1998-2004 Hewlett-Packard Development Company, LP This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more information: www.smartfrog.org */ package org.smartfrog.services.junit.test.unit; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.test.system.TestRunnerTestBase; import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.listeners.OneHostXMLListener; import java.io.File; import java.io.IOException; import java.util.Date; /** * Test the {@link OneHostXMLListener} class, that is not itself a smartfrog * component (and so is that much easier to test) created Nov 22, 2004 2:45:11 * PM */ public class OneHostXMLListenerTest extends TestRunnerTestBase { public OneHostXMLListenerTest(String name) { super(name); } private File tempdir; /** * Sets up the fixture, for example, open a network connection. This method * is called before a test is executed. */ protected void setUp() throws Exception { tempdir = new File(System.getProperty("java.io.tmpdir"), "junit"); } public void testSimple() throws Exception { File file = new File(tempdir, "testSimple.xml"); OneHostXMLListener listener = createListener(file, "simple"); assertTrue("listener is not open", listener.isOpen()); TestInfo ti = new TestInfo(this); ti.markStartTime(); listener.startTest(ti); assertTrue("listener is not open", listener.isOpen()); ti.markEndTime(); listener.endTest(ti); assertTrue("listener is not open", listener.isOpen()); listener.endSuite(); assertFalse("listener is not closed", listener.isOpen()); validateXmlLog(file); } public void testError() throws Exception { File file = new File(tempdir, "testError.xml"); OneHostXMLListener listener = createListener(file, "simple"); assertTrue("listener is not open", listener.isOpen()); assertTrue("listener is not happy", listener.isHappy()); TestInfo ti = new TestInfo(this); listener.startTest(ti); assertTrue("listener is not open", listener.isOpen()); Throwable t = new RuntimeException("oops", new Throwable("ne&>sted")); ti.addFaultInfo(t); listener.addError(ti); assertTrue("listener is not open", listener.isOpen()); ti.markEndTime(); listener.endTest(ti); listener.endSuite(); assertFalse("listener is not closed", listener.isOpen()); validateXmlLog(file); } public OneHostXMLListener createListener(File file, String suite) throws IOException { if (file.exists()) { file.delete(); } Date startTime = new Date(System.currentTimeMillis()); OneHostXMLListener listener = new OneHostXMLListener("localhost", null, suite, file, startTime, null); listener.open(); assertTrue("listener is not open", listener.isOpen()); return listener; } } --- NEW FILE: ListFlatteningTest.java --- /** (C) Copyright 1998-2004 Hewlett-Packard Development Company, LP This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more information: www.smartfrog.org */ package org.smartfrog.services.junit.test.unit; import junit.framework.TestCase; import org.smartfrog.services.junit.JUnitTestSuiteImpl; import org.smartfrog.sfcore.common.SmartFrogInitException; import java.util.ArrayList; import java.util.List; /** * created Nov 23, 2004 11:33:33 AM */ public class ListFlatteningTest extends TestCase { public void testListFlattening() throws Exception { JUnitTestSuiteImpl junit = new JUnitTestSuiteImpl(); List l1 = new ArrayList(); List l2 = new ArrayList(); List l3 = new ArrayList(); l2.add("1"); l2.add("2"); l3.add("3"); l3.add("4"); l2.add(l3); List flat = new ArrayList(); flat.add("1"); flat.add("2"); flat.add("3"); flat.add("4"); List flat2 = junit.flattenStringList(l2, "l2"); assertEquals(flat, flat); assertEquals(flat, flat2); l2.add(new ArrayList()); l1.add(l2); List flat3 = junit.flattenStringList(l1, "l1"); assertEquals(flat, flat3); List l4 = new ArrayList(); l4.add(l1); l4.add(new Integer("3")); try { List flat4 = junit.flattenStringList(l4, "l5"); fail("should have thrown something"); } catch (SmartFrogInitException e) { //expected } List flat5 = junit.flattenStringList(null, "flat5"); assertEquals(0, flat5.size()); } } --- NEW FILE: ConsoleListenerTest.java --- /** (C) Copyright 1998-2004 Hewlett-Packard Development Company, LP This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more information: www.smartfrog.org */ package org.smartfrog.services.junit.test.unit; import junit.framework.TestCase; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.listeners.ConsoleListenerComponent; import java.io.PrintStream; import java.rmi.RemoteException; /** * created Nov 22, 2004 4:16:27 PM */ public class ConsoleListenerTest extends TestCase { private ConsoleListenerComponent createListener(PrintStream out) throws RemoteException { ConsoleListenerComponent listener = new ConsoleListenerComponent(); if (out != null) { listener.setOutputStream(out); } return listener; } public void testSuccess() throws Exception { ConsoleListenerComponent factory = createListener(null); TestListener listener = factory.listen(null, "localhost", null, "test", 0); TestInfo ti = new TestInfo(this); ti.markStartTime(); listener.startTest(ti); ti.markEndTime(); listener.endTest(ti); listener.endSuite(); } public void testError() throws Exception { ConsoleListenerComponent factory = createListener(null); TestListener listener = factory.listen(null, "localhost", null, "test", 0); TestInfo ti = new TestInfo(this); listener.startTest(ti); Throwable t = new RuntimeException("oops", new Throwable("ne&>sted")); ti.addFaultInfo(t); listener.addError(ti); ti.markEndTime(); listener.endTest(ti); listener.endSuite(); } } --- NEW FILE: BufferingListenerTest.java --- /** (C) Copyright 1998-2004 Hewlett-Packard Development Company, LP This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more information: www.smartfrog.org */ package org.smartfrog.services.junit.test.unit; import junit.framework.TestCase; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.listeners.BufferingListener; import org.smartfrog.services.junit.listeners.BufferingListenerComponent; import java.rmi.RemoteException; /** * Test that a buffering listerner created Nov 22, 2004 1:49:37 PM */ public class BufferingListenerTest extends TestCase { /** * Sets up the fixture, for example, open a network connection. This method * is called before a test is executed. */ protected void setUp() throws Exception { } public void testSuccess() throws Exception { BufferingListener buffer = createFactory(); TestListener listener = buffer.listen(null, "localhost", null, "testo", System.currentTimeMillis()); TestInfo ti = new TestInfo(this); ti.markStartTime(); listener.startTest(ti); ti.markEndTime(); listener.endTest(ti); listener.endSuite(); assertEquals(1, buffer.getSessionStartCount()); assertEquals(1, buffer.getSessionEndCount()); assertEquals(1, buffer.getStartCount()); assertEquals(1, buffer.getEndCount()); TestInfo ti2 = buffer.getEndInfo(0); assertEquals(ti.getClassname(), ti2.getClassname()); assertFalse(ti2.getStartTime() == 0); assertFalse(ti2.getEndTime() == 0); assertTrue(buffer.testsWereSuccessful()); } public void testFailure() throws Exception { BufferingListener buffer = createFactory(); TestListener listener = buffer.listen(null, "localhost", null, "testo", System.currentTimeMillis()); TestInfo ti = new TestInfo(this); ti.markStartTime(); listener.startTest(ti); Throwable t = new RuntimeException("oops", new Throwable("nested")); ti.addFaultInfo(t); listener.addError(ti); ti.markEndTime(); listener.endTest(ti); listener.endSuite(); assertEquals(1, buffer.getSessionStartCount()); assertEquals(1, buffer.getSessionEndCount()); assertEquals(1, buffer.getEndCount()); assertEquals(1, buffer.getErrorCount()); assertEquals(0, buffer.getFailureCount()); TestInfo ti2 = buffer.getErrorInfo(0); assertEquals(ti.getClassname(), ti2.getClassname()); /* assertFalse(ti2.getStartTime() == 0); assertFalse(ti2.getEndTime() == 0); */ assertFalse(buffer.testsWereSuccessful()); } private BufferingListener createFactory() throws RemoteException { BufferingListener factory; factory = new BufferingListenerComponent(); return factory; } } |