001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999-2005 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or 1any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * --------------------------------------------------------------------------
022: * $Id: F_WsEarSample.java 7320 2005-09-05 13:33:44Z sauthieg $
023: * --------------------------------------------------------------------------
024: */package org.objectweb.jonas.examples.clients.webservices;
025:
026: import java.io.File;
027:
028: import junit.framework.TestSuite;
029:
030: import com.meterware.httpunit.WebResponse;
031:
032: /**
033: * Define a class to test the webServices examples
034: * Test WebServices deployment OK and test Call on deployed WebService
035: * @author Guillaume Sauthier
036: */
037: public class F_WsEarSample extends A_WebServicesEndpoint {
038:
039: /**
040: * URL of the wsEarSample page
041: */
042: private static final String URL_WSEARSAMPLE = "/axis-ws/";
043:
044: /**
045: * The username to use for the webapp
046: */
047: private static final String USERNAME = "jonas";
048:
049: /**
050: * The password to use for teh webapp
051: */
052: private static final String PASSWORD = "jonas";
053:
054: /**
055: * Main method
056: * @param args the arguments
057: */
058: public static void main(String[] args) {
059:
060: String testtorun = null;
061: // Get args
062: for (int argn = 0; argn < args.length; argn++) {
063: String sArg = args[argn];
064: if (sArg.equals("-n")) {
065: testtorun = args[++argn];
066: }
067: }
068:
069: if (testtorun == null) {
070: junit.textui.TestRunner.run(suite());
071: } else {
072: junit.textui.TestRunner.run(new F_WsEarSample(testtorun));
073: }
074: }
075:
076: /**
077: * Get a new TestSuite for this class
078: * @return a new TestSuite for this class
079: */
080: public static TestSuite suite() {
081: return new TestSuite(F_WsEarSample.class);
082: }
083:
084: /**
085: * Setup need for these tests
086: * earsample is required
087: * @throws Exception if it fails
088: */
089: protected void setUp() throws Exception {
090: super .setUp();
091: useEar("ws");
092: }
093:
094: /**
095: * Constructor with a specified name
096: * @param s name
097: */
098: public F_WsEarSample(String s) {
099: super (s, URL_WSEARSAMPLE, USERNAME, PASSWORD);
100: }
101:
102: /**
103: * Check if services page is accessible
104: * @throws Exception if an error occurs
105: */
106: public void testDeploymentCompleted() throws Exception {
107:
108: WebResponse wr = wc.getResponse(url + "services1/webservice");
109: assertNotNull("no homepage", wr);
110: }
111:
112: /**
113: * Check if WSDL is generated
114: * @throws Exception if an error occurs
115: */
116: public void testAxisWSDL() throws Exception {
117:
118: // for wsEarSample axis generated WSDL link is in second place (1)
119: checkAxisWSDL("services1/webservice?JWSDL");
120: }
121:
122: /**
123: * Check if WSDL has been published
124: * @throws Exception if an error occurs
125: */
126: public void testWSDLPublication() throws Exception {
127:
128: checkWSDLPublication("My Web Services" + File.separator
129: + "ssbEndpoint.wsdl",
130: "http://ws.beans.wssample.objectweb.org",
131: "WSBeanEndpointLocalService", "WSBeanEndpointLocal",
132: url + "services1/webservice");
133: }
134:
135: }
|