From: Steve L. <st...@us...> - 2004-09-07 09:50:35
|
Update of /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18835/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console Modified Files: ConsoleTestBase.java DeployTest.java ListApplicationsTest.java LookupApplicationsTest.java ServerStatusTest.java UndeployTest.java Added Files: DeployingTestBase.java DeploySmartFrogTest.java DeployXMLTest.java Log Message: more tests. some tuning of the deploy api --- NEW FILE: DeployingTestBase.java --- /** (C) Copyright 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.cddlm.test.system.console; import org.cddlm.client.console.Deploy; import org.cddlm.client.console.Options; import org.cddlm.client.console.ConsoleOperation; import org.cddlm.client.generated.api.types.DeploymentDescriptorType; import org.cddlm.client.generated.api.types._deploymentDescriptorType_data; import org.cddlm.client.generated.api.types.CallbackInformationType; import org.cddlm.client.generated.api.types.ApplicationStatusType; import org.cddlm.client.generated.api.types.LifecycleStateEnum; import org.apache.axis.types.URI; import org.apache.axis.AxisFault; import javax.xml.namespace.QName; import java.rmi.RemoteException; /** * Date: 06-Sep-2004 * Time: 22:27:16 */ public abstract class DeployingTestBase extends ConsoleTestBase { protected Deploy operation; public static final String SFCONFIG_EXTENDS_COMPOUND = "sfConfig extends Compound {}"; public static final String SIMPLE_DESCRIPTOR = "#include \"/org/smartfrog/components.sf\"\n" + SFCONFIG_EXTENDS_COMPOUND + "\n"; public static final String BROKEN_DESCRIPTOR = "#include \"/org/smartfrog/components.sf\"" + " sfConfig extends Unknown {} "; protected ConsoleOperation getOperation() { return operation; } /** * 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(); operation = new Deploy(getBinding(), getOut()); } /** * assert a descriptor contains the text * @param dt * @param search * @throws Exception */ protected void assertInDescriptor(DeploymentDescriptorType dt, String search) throws Exception { _deploymentDescriptorType_data data = dt.getData(); assertNotNull("data null", data); final org.apache.axis.message.MessageElement[] any = data.get_any(); assertNotNull("data/any null", any); assertTrue("any empty", any.length == 1); String output = any[0].getAsString(); assertInText(output, search); } protected URI deploy(String name, DeploymentDescriptorType descriptor, Options options, CallbackInformationType callback) throws RemoteException { URI uri = operation.deploy(name, descriptor, options, callback); assertNotNull("uri", uri); return uri; } /** * deploy, expecting some kind of fault * * @param name * @param dd * @param options * @param callback * @param fault * @param text * @throws java.rmi.RemoteException */ protected void deployExpectingFault(final String name, DeploymentDescriptorType dd, final Options options, CallbackInformationType callback, final QName fault, final String text) throws RemoteException { try { URI uri = deploy(name, dd, options, callback); } catch (AxisFault af) { assertFaultMatches(af, fault, text); } } /** * assert that an app exists and is in the named state * @param uri * @param stateName * @throws RemoteException */ public void assertInState(URI uri, String stateName) throws RemoteException { ApplicationStatusType status = operation.lookupApplicationStatus(uri); assertNotNull("app status of "+uri,status); LifecycleStateEnum state = status.getState(); state.getValue(); assertEquals(stateName, state); } } Index: LookupApplicationsTest.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console/LookupApplicationsTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** LookupApplicationsTest.java 3 Sep 2004 15:47:38 -0000 1.2 --- LookupApplicationsTest.java 7 Sep 2004 09:50:21 -0000 1.3 *************** *** 25,31 **** --- 25,34 ---- import org.apache.axis.types.URI; import org.cddlm.client.console.Lookup; + import org.cddlm.client.console.ConsoleOperation; import org.cddlm.client.generated.api.types.ApplicationStatusType; import org.smartfrog.services.cddlm.generated.faults.FaultCodes; + import java.rmi.RemoteException; + /** * Date: 02-Sep-2004 Time: 20:40:57 *************** *** 37,40 **** --- 40,52 ---- /** + * get the operation of this test base + * + * @return the current operation + */ + protected ConsoleOperation getOperation() { + return operation; + } + + /** * Sets up the fixture, by creating an operation */ *************** *** 56,67 **** public void testStatusOfMissingApp() throws Exception { URI uri = new URI(INVALID_URI_NAME); ! try { ! ApplicationStatusType status = operation.lookupApplicationStatus( ! uri); ! } catch (AxisFault fault) { ! assertFaultMatches(fault, ! FaultCodes.FAULT_NO_SUCH_APPLICATION, ! INVALID_URI_NAME); ! } } } --- 68,74 ---- public void testStatusOfMissingApp() throws Exception { URI uri = new URI(INVALID_URI_NAME); ! String errorText = INVALID_URI_NAME; ! assertNoSuchApplication(uri, errorText); } + } Index: DeployTest.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console/DeployTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** DeployTest.java 3 Sep 2004 16:12:30 -0000 1.6 --- DeployTest.java 7 Sep 2004 09:50:21 -0000 1.7 *************** *** 44,74 **** */ ! public class DeployTest extends ConsoleTestBase { ! ! private Deploy operation; ! ! ! public static final String SFCONFIG_EXTENDS_COMPOUND = "sfConfig extends Compound {}"; ! public static final String SIMPLE_DESCRIPTOR = ! "#include \"/org/smartfrog/components.sf\"\n" ! + SFCONFIG_EXTENDS_COMPOUND + "\n"; ! ! public static final String BROKEN_DESCRIPTOR = ! "#include \"/org/smartfrog/components.sf\"" ! + " sfConfig extends Unknown {} "; - /** - * 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(); - operation = new Deploy(getBinding(), getOut()); - } public void testDescriptorCreation() throws Exception { DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! SIMPLE_DESCRIPTOR); ! assertInDescriptor(dd, SFCONFIG_EXTENDS_COMPOUND); } --- 44,54 ---- */ ! public class DeployTest extends DeployingTestBase { public void testDescriptorCreation() throws Exception { DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); ! assertInDescriptor(dd, DeploySmartFrogTest.SFCONFIG_EXTENDS_COMPOUND); } *************** *** 81,100 **** } - private void assertInDescriptor(DeploymentDescriptorType dt, String search) - throws Exception { - _deploymentDescriptorType_data data = dt.getData(); - assertNotNull("data null", data); - final org.apache.axis.message.MessageElement[] any = data.get_any(); - assertNotNull("data/any null", any); - assertTrue("any empty", any.length == 1); - String output = any[0].getAsString(); - assertInText(output, search); - } - public void testSimpleDeploy() throws Exception { - DeploymentDescriptorType dt = operation.createSmartFrogDescriptor( - SIMPLE_DESCRIPTOR); - URI uri = deploy("simple", dt, null, null); - } public void testEmptyDeploy() throws Exception { --- 61,65 ---- *************** *** 109,113 **** public void testBrokenDeploy() throws IOException { DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! BROKEN_DESCRIPTOR); deployExpectingFault("broken", dd, --- 74,78 ---- public void testBrokenDeploy() throws IOException { DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! DeploySmartFrogTest.BROKEN_DESCRIPTOR); deployExpectingFault("broken", dd, *************** *** 118,133 **** } - private URI deploy(String name, - DeploymentDescriptorType descriptor, - Options options, CallbackInformationType callback) - throws RemoteException { - URI uri = operation.deploy(name, descriptor, options, callback); - assertNotNull("uri", uri); - return uri; - } - public void testUnsupportedLanguage() throws RemoteException { MessageElement me = operation.createSmartfrogMessageElement( ! SIMPLE_DESCRIPTOR); me.setNamespaceURI("http://invalid.example.org"); DeploymentDescriptorType dd = operation.createDescriptorWithXML(me); --- 83,89 ---- } public void testUnsupportedLanguage() throws RemoteException { MessageElement me = operation.createSmartfrogMessageElement( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); me.setNamespaceURI("http://invalid.example.org"); DeploymentDescriptorType dd = operation.createDescriptorWithXML(me); *************** *** 141,168 **** /** - * deploy, expecting some kind of fault - * - * @param name - * @param dd - * @param options - * @param callback - * @param fault - * @param text - * @throws RemoteException - */ - private void deployExpectingFault(final String name, - DeploymentDescriptorType dd, - final Options options, - CallbackInformationType callback, final QName fault, - final String text) - throws RemoteException { - try { - URI uri = deploy(name, dd, options, callback); - } catch (AxisFault af) { - assertFaultMatches(af, fault, text); - } - } - - /** * change the version to sfrog and see what happens * --- 97,100 ---- *************** *** 171,175 **** public void testUnsupportedSmartFrogVersion() throws RemoteException { MessageElement me = operation.createSmartfrogMessageElement( ! SIMPLE_DESCRIPTOR); me.removeAttribute("version"); me.setAttribute(me.getNamespaceURI(), "version", "1.7"); --- 103,107 ---- public void testUnsupportedSmartFrogVersion() throws RemoteException { MessageElement me = operation.createSmartfrogMessageElement( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); me.removeAttribute("version"); me.setAttribute(me.getNamespaceURI(), "version", "1.7"); *************** *** 190,194 **** public void testUndefinedSmartFrogVersion() throws RemoteException { MessageElement me = operation.createSmartfrogMessageElement( ! SIMPLE_DESCRIPTOR); me.removeAttribute("version"); DeploymentDescriptorType dd = operation.createDescriptorWithXML(me); --- 122,126 ---- public void testUndefinedSmartFrogVersion() throws RemoteException { MessageElement me = operation.createSmartfrogMessageElement( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); me.removeAttribute("version"); DeploymentDescriptorType dd = operation.createDescriptorWithXML(me); *************** *** 210,214 **** callback.setType(CallbackEnum.fromValue("ws-eventing")); DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! SIMPLE_DESCRIPTOR); deployExpectingFault("UndefinedVersion", dd, --- 142,146 ---- callback.setType(CallbackEnum.fromValue("ws-eventing")); DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); deployExpectingFault("UndefinedVersion", dd, *************** *** 251,255 **** true); DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! SIMPLE_DESCRIPTOR); deployExpectingFault("testNotUnderstoodOption", dd, --- 183,187 ---- true); DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); deployExpectingFault("testNotUnderstoodOption", dd, *************** *** 269,273 **** options.addOption(new URI("http://localhost/ignored"), "test", false); DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! SIMPLE_DESCRIPTOR); URI uri = deploy("testIgnoredHeader", dd, options, null); } --- 201,205 ---- options.addOption(new URI("http://localhost/ignored"), "test", false); DeploymentDescriptorType dd = operation.createSmartFrogDescriptor( ! DeploySmartFrogTest.SIMPLE_DESCRIPTOR); URI uri = deploy("testIgnoredHeader", dd, options, null); } --- NEW FILE: DeployXMLTest.java --- /** (C) Copyright 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.cddlm.test.system.console; /** * Date: 06-Sep-2004 * Time: 21:57:56 */ public class DeployXMLTest extends DeployingTestBase { public static final String WRONG_XML_DOCUMENT = "<descriptor>not the right descriptor</descriptor>"; public void testNothing() { } } Index: ListApplicationsTest.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console/ListApplicationsTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ListApplicationsTest.java 2 Sep 2004 22:48:16 -0000 1.2 --- ListApplicationsTest.java 7 Sep 2004 09:50:21 -0000 1.3 *************** *** 22,25 **** --- 22,26 ---- import org.apache.axis.types.URI; import org.cddlm.client.console.ListApplications; + import org.cddlm.client.console.ConsoleOperation; import java.io.IOException; *************** *** 34,37 **** --- 35,47 ---- /** + * get the operation of this test base + * + * @return the current operation + */ + protected ConsoleOperation getOperation() { + return operation; + } + + /** * Sets up the fixture, by creating an operation */ *************** *** 41,44 **** --- 51,55 ---- } + public void testExecute() throws RemoteException { operation.execute(); Index: ConsoleTestBase.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console/ConsoleTestBase.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ConsoleTestBase.java 3 Sep 2004 15:47:38 -0000 1.7 --- ConsoleTestBase.java 7 Sep 2004 09:50:21 -0000 1.8 *************** *** 24,29 **** --- 24,34 ---- import junit.framework.TestCase; import org.apache.axis.AxisFault; + import org.apache.axis.types.URI; import org.cddlm.client.common.Constants; import org.cddlm.client.common.ServerBinding; + import org.cddlm.client.generated.api.types.StaticServerStatusType; + import org.cddlm.client.generated.api.types.ApplicationStatusType; + import org.cddlm.client.console.ConsoleOperation; + import org.smartfrog.services.cddlm.generated.faults.FaultCodes; import javax.xml.namespace.QName; *************** *** 32,35 **** --- 37,41 ---- import java.io.StringWriter; import java.net.URL; + import java.rmi.RemoteException; /** *************** *** 53,56 **** --- 59,68 ---- /** + * get the operation of this test base + * @return + */ + protected abstract ConsoleOperation getOperation(); + + /** * extract info from the JVM, or use defaults, to set up our binding to the * world. *************** *** 136,143 **** --- 148,164 ---- } + /** + * get the current server binding + * @return + */ public ServerBinding getBinding() { return binding; } + /** + * assert that the value is not null or empty + * @param message + * @param value + */ protected static void assertNotEmpty(String message, String value) { assertTrue(message, value != null); *************** *** 145,148 **** --- 166,174 ---- } + /** + * assert the text is not null and contains the message + * @param source + * @param search + */ protected static void assertInText(String source, String search) { assertNotNull("empty source", source); *************** *** 189,191 **** --- 215,234 ---- } } + + /** + * assert that an application doesnt exist + * @param uri uri of app + * @param errorText optional error text + * @throws RemoteException + */ + public void assertNoSuchApplication(URI uri, String errorText) throws RemoteException { + try { + ApplicationStatusType status = getOperation().lookupApplicationStatus( + uri); + } catch (AxisFault fault) { + assertFaultMatches(fault, + FaultCodes.FAULT_NO_SUCH_APPLICATION, + errorText); + } + } } Index: UndeployTest.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console/UndeployTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** UndeployTest.java 3 Sep 2004 15:47:38 -0000 1.2 --- UndeployTest.java 7 Sep 2004 09:50:21 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import org.apache.axis.types.URI; import org.cddlm.client.console.Undeploy; + import org.cddlm.client.console.ConsoleOperation; import org.smartfrog.services.cddlm.generated.faults.FaultCodes; *************** *** 36,39 **** --- 37,49 ---- /** + * get the operation of this test base + * + * @return the current operation + */ + protected ConsoleOperation getOperation() { + return operation; + } + + /** * Sets up the fixture, by creating an operation */ --- NEW FILE: DeploySmartFrogTest.java --- /** (C) Copyright 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.cddlm.test.system.console; import org.cddlm.client.generated.api.types.DeploymentDescriptorType; import org.cddlm.client.generated.api.types.ApplicationStatusType; import org.cddlm.client.generated.api.types.LifecycleStateEnum; import org.apache.axis.types.URI; import org.smartfrog.services.cddlm.generated.faults.FaultCodes; import java.rmi.RemoteException; /** * Date: 06-Sep-2004 * Time: 21:57:39 */ public class DeploySmartFrogTest extends DeployingTestBase { public void testDeployAndUndeploy() throws Exception { String name = "simple"; URI uri =null; DeploymentDescriptorType dt = operation.createSmartFrogDescriptor(DeploySmartFrogTest.SIMPLE_DESCRIPTOR); uri= deploy(name, dt, null, null); //now test a lookup String stateName = FaultCodes.STATE_RUNNING; assertInState(uri, stateName); operation.undeploy(uri, "end test"); } } Index: ServerStatusTest.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/cddlm/test/org/smartfrog/services/cddlm/test/system/console/ServerStatusTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ServerStatusTest.java 1 Sep 2004 16:32:30 -0000 1.4 --- ServerStatusTest.java 7 Sep 2004 09:50:21 -0000 1.5 *************** *** 26,33 **** --- 26,35 ---- import org.cddlm.client.common.ServerBinding; import org.cddlm.client.console.ShowServerStatus; + import org.cddlm.client.console.ConsoleOperation; import org.cddlm.client.generated.api.types.DynamicServerStatusType; import org.cddlm.client.generated.api.types.ServerInformationType; import org.cddlm.client.generated.api.types.ServerStatusType; import org.cddlm.client.generated.api.types.StaticServerStatusType; + import org.smartfrog.services.cddlm.generated.faults.FaultCodes; import java.io.IOException; *************** *** 42,45 **** --- 44,56 ---- /** + * get the operation of this test base + * + * @return the current operation + */ + protected ConsoleOperation getOperation() { + return operation; + } + + /** * Sets up the fixture, for example, open a network connection. This method * is called before a test is executed. *************** *** 67,70 **** --- 78,100 ---- } + public void testSmartFrogLanguage() throws RemoteException { + assertSupportedLanguage(FaultCodes.SMARTFROG_NAMESPACE); + } + + public void testXMLCDLLanguage() throws RemoteException { + assertSupportedLanguage(FaultCodes.XML_CDL_NAMESPACE); + } + + public void testUnsupportedLanguage() throws RemoteException { + String languageURI = FaultCodes.XPATH_NAMESPACE; + boolean found = operation.supportsLanguage(languageURI); + assertTrue("supported :" + languageURI, found); + } + + public void assertSupportedLanguage(String languageURI) throws RemoteException { + boolean found=operation.supportsLanguage(languageURI); + assertTrue("not supported :"+languageURI,found); + } + public void testServerInfo() throws RemoteException { |