From: Steve L. <st...@us...> - 2005-01-28 20:12:21
|
Update of /cvsroot/smartfrog/core/components/xml/test/org/smartfrog/services/xml/test/system In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv813/components/xml/test/org/smartfrog/services/xml/test/system Modified Files: DocumentCreationTest.java TestBase.java Log Message: Trying to get the codebase for these tests working. Some classpath setup tweaks in common.xml to make overriding easier Index: TestBase.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/xml/test/org/smartfrog/services/xml/test/system/TestBase.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TestBase.java 27 Jan 2005 17:33:57 -0000 1.2 --- TestBase.java 28 Jan 2005 17:20:35 -0000 1.3 *************** *** 23,26 **** --- 23,30 ---- import org.smartfrog.test.SmartFrogTestBase; + import org.smartfrog.services.xml.interfaces.XmlNode; + import org.smartfrog.sfcore.prim.Prim; + + import java.rmi.RemoteException; /** *************** *** 29,32 **** --- 33,38 ---- public abstract class TestBase extends SmartFrogTestBase { + public static final String CODEBASE_PROPERTY = "org.smartfrog.codebase"; + protected TestBase(String name) { super(name); *************** *** 35,38 **** --- 41,78 ---- public static final String FILE_BASE = "/org/smartfrog/services/xml/test/files/"; + /** + * Sets up the fixture, for example, open a network connection. This method + * is called before a test is executed. + */ + protected void setUp() throws Exception { + super.setUp(); + assertSystemPropertySet(CODEBASE_PROPERTY); + } + + /** + * Deploy an XML node + * @param url + * @param appName + * @return + * @throws Throwable + */ + public XmlNode deployXmlNode(String url,String appName) throws Throwable { + Prim prim= deployExpectingSuccess(url, appName); + try { + XmlNode node=(XmlNode) prim; + return node; + } catch (Exception e) { + terminateApplication(prim); + throw e; + } + } + /** + * terminate a deployed app of type xmlnode + * @param node + * @throws RemoteException + */ + protected void terminateNode(XmlNode node) throws RemoteException { + terminateApplication((Prim)node); + } } Index: DocumentCreationTest.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/xml/test/org/smartfrog/services/xml/test/system/DocumentCreationTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DocumentCreationTest.java 27 Jan 2005 17:33:57 -0000 1.1 --- DocumentCreationTest.java 28 Jan 2005 17:20:35 -0000 1.2 *************** *** 20,23 **** --- 20,41 ---- package org.smartfrog.services.xml.test.system; + import org.smartfrog.sfcore.prim.Prim; + import org.smartfrog.services.xml.interfaces.XmlNode; + import org.smartfrog.services.xml.interfaces.XmlDocument; + import org.smartfrog.services.xml.interfaces.XmlTextNode; + import org.smartfrog.services.xml.utils.ParserHelper; + import org.xml.sax.SAXException; + import org.xml.sax.XMLReader; + import junit.awtui.TestRunner; + + import java.rmi.RemoteException; + import java.io.File; + import java.io.IOException; + + import nu.xom.Builder; + import nu.xom.ValidityException; + import nu.xom.ParsingException; + import nu.xom.Document; + /** * created 27-Jan-2005 14:02:01 *************** *** 30,33 **** --- 48,98 ---- } + /** + * load a document, save it to a temp file. + * @throws Throwable + */ + public void testDocumentLoad() throws Throwable { + XmlNode node=deployXmlNode(FILE_BASE+"testDocument.sf","testDocument"); + try { + XmlDocument doc=(XmlDocument) node; + String xml=doc.toXML(); + File tempfile=File.createTempFile("doc",".xml"); + doc.save(tempfile.getAbsolutePath()); + Document xdom=loadXMLFile(tempfile); + } finally { + terminateNode(node); + } + } + + public void testTextNode() throws Throwable { + XmlNode node = deployXmlNode(FILE_BASE + "textNode.sf", + "textNode"); + try { + XmlTextNode element = (XmlTextNode) node; + String xml = element.toXML(); + assertContains(xml,"nested text element"); + } finally { + terminateNode(node); + } + } + + /** + * load an XML File + * @param file + * @return + * @throws SAXException + * @throws ParsingException + * @throws IOException + */ + public Document loadXMLFile(File file) throws SAXException, + ParsingException, IOException { + XMLReader xmlParser = ParserHelper.createXmlParser(true,true,false); + Builder builder = new Builder(xmlParser, true); + Document document = builder.build(file); + return document; + } + + + } |