001: /*
002: DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003:
004: Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005:
006:
007: The contents of this file are subject to the terms of either the GNU
008: General Public License Version 2 only ("GPL") or the Common
009: Development and Distribution License("CDDL") (collectively, the
010: "License"). You may not use this file except in compliance with the
011: License. You can obtain a copy of the License at
012: http://www.netbeans.org/cddl-gplv2.html
013: or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
014: specific language governing permissions and limitations under the
015: License. When distributing the software, include this License Header
016: Notice in each file and include the License file at
017: nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
018: particular file as subject to the "Classpath" exception as provided
019: by Sun in the GPL Version 2 section of the License file that
020: accompanied this code. If applicable, add the following below the
021: License Header, with the fields enclosed by brackets [] replaced by
022: your own identifying information:
023: "Portions Copyrighted [year] [name of copyright owner]"
024:
025: Contributor(s):
026:
027: The Original Software is NetBeans. The Initial Developer of the Original
028: Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
029: Microsystems, Inc. All Rights Reserved.
030:
031: If you wish your version of this file to be governed by only the CDDL
032: or only the GPL Version 2, indicate your decision by adding
033: "[Contributor] elects to include this software in this distribution
034: under the [CDDL or GPL Version 2] license." If you do not indicate a
035: single choice of license, a recipient has the option to distribute
036: your version of this file under either the CDDL, the GPL Version 2 or
037: to extend the choice of license to its licensees as provided above.
038: However, if you add GPL Version 2 code and therefore, elected the GPL
039: Version 2 license, then the option applies only if the new code is
040: made subject to such option by the copyright holder.
041: */
042:
043: package org.netbeans.test.ejb;
044:
045: import org.netbeans.jemmy.operators.*;
046: import org.netbeans.jemmy.*;
047: import org.netbeans.junit.NbTestSuite;
048: import junit.framework.Test;
049: import junit.framework.*;
050:
051: import org.netbeans.modules.visualweb.gravy.dataconnectivity.ServerNavigatorOperator;
052: import org.netbeans.modules.visualweb.gravy.*;
053:
054: import java.io.*;
055:
056: /**
057: *
058: * @author Roman Mostyka
059: */
060: public class ImportEJBTest extends RaveTestCase {
061: public ServerNavigatorOperator server;
062: public JTreeOperator sntree;
063:
064: public ImportEJBTest(String testName) {
065: super (testName);
066: }
067:
068: public static Test suite() {
069: NbTestSuite suite = new NbTestSuite("EJB Import");
070: suite.addTest(new ImportEJBTest(
071: "testImportEJB_01_Import_1_EJBSet"));
072: suite.addTest(new ImportEJBTest(
073: "testImportEJB_02_Import_2_EJBSets"));
074: suite.addTest(new ImportEJBTest(
075: "testImportEJB_03_Clear_Import_1_EJBSet"));
076: return suite;
077: }
078:
079: /** method called before each testcase
080: */
081: protected void setUp() {
082: }
083:
084: public void testImportEJB_01_Import_1_EJBSet() {
085: String ejbSetName_1 = "ValidJAR", ejbJarDir = "EJB_Valid_JAR_Valid_EAR", ejbJarName = ejbJarDir
086: + "Client.jar";
087: EJBTestUtils.addEJB(ejbSetName_1,
088: EJBTestUtils.RMI_IIOP_PORT_APPSERVER,
089: EJBTestUtils.EJB_JARS_PATH + File.separator + ejbJarDir
090: + File.separator + ejbJarName, "");
091: EJBTestUtils.endAddEJB();
092: server.showNavigatorOperator().getTree().findPath(
093: EJBTestUtils.ejbNode + "|" + ejbSetName_1);
094: TestUtils.wait(1000);
095:
096: String[] ejbSetNames = new String[] { ejbSetName_1 };
097: String errMsg = EJBTestUtils.exportRequiredEJBSets(ejbSetNames);
098:
099: EJBTestUtils.removeEJB(ejbSetName_1);
100: if (errMsg == null) {
101: errMsg = EJBTestUtils.importEJBSets("", ejbSetNames, false,
102: true);
103: }
104: Util.wait(1000);
105: new QueueTool().waitEmpty();
106: if (errMsg != null) {
107: Assert.fail(errMsg);
108: }
109: }
110:
111: public void testImportEJB_02_Import_2_EJBSets() {
112: String ejbSetName_1 = "ValidJAR", ejbJarDir = "EJB_Valid_JAR_Valid_EAR", ejbJarName = ejbJarDir
113: + "Client.jar";
114: EJBTestUtils.addEJB(ejbSetName_1,
115: EJBTestUtils.RMI_IIOP_PORT_APPSERVER,
116: EJBTestUtils.EJB_JARS_PATH + File.separator + ejbJarDir
117: + File.separator + ejbJarName, "");
118: EJBTestUtils.endAddEJB();
119: server.showNavigatorOperator().getTree().findPath(
120: EJBTestUtils.ejbNode + "|" + ejbSetName_1);
121: TestUtils.wait(1000);
122:
123: String ejbSetName_2 = "Valid_JARs_2EJBs";
124: ejbJarDir = "EJB_Valid_JARs_2EJBs";
125: ejbJarName = ejbJarDir + "Client.jar";
126:
127: EJBTestUtils.addEJB(ejbSetName_2,
128: EJBTestUtils.RMI_IIOP_PORT_APPSERVER,
129: EJBTestUtils.EJB_JARS_PATH + File.separator + ejbJarDir
130: + File.separator + ejbJarName, "");
131: EJBTestUtils.endAddEJB();
132:
133: String[] ejbSetNames = new String[] { ejbSetName_1,
134: ejbSetName_2 };
135: String errMsg = EJBTestUtils.exportRequiredEJBSets(ejbSetNames);
136:
137: EJBTestUtils.removeEJB(ejbSetName_1);
138: EJBTestUtils.removeEJB(ejbSetName_2);
139: if (errMsg == null) {
140: errMsg = EJBTestUtils.importEJBSets("", ejbSetNames, false,
141: true);
142: }
143: Util.wait(1000);
144: new QueueTool().waitEmpty();
145: if (errMsg != null) {
146: Assert.fail(errMsg);
147: }
148: }
149:
150: public void testImportEJB_03_Clear_Import_1_EJBSet() {
151: String ejbSetName_1 = "ValidJAR", ejbJarDir = "EJB_Valid_JAR_Valid_EAR", ejbJarName = ejbJarDir
152: + "Client.jar";
153: EJBTestUtils.addEJB(ejbSetName_1,
154: EJBTestUtils.RMI_IIOP_PORT_APPSERVER,
155: EJBTestUtils.EJB_JARS_PATH + File.separator + ejbJarDir
156: + File.separator + ejbJarName, "");
157: EJBTestUtils.endAddEJB();
158: server.showNavigatorOperator().getTree().findPath(
159: EJBTestUtils.ejbNode + "|" + ejbSetName_1);
160: TestUtils.wait(1000);
161:
162: String ejbSetName_2 = "Valid_JARs_2EJBs";
163: ejbJarDir = "EJB_Valid_JARs_2EJBs";
164: ejbJarName = ejbJarDir + "Client.jar";
165:
166: EJBTestUtils.addEJB(ejbSetName_2,
167: EJBTestUtils.RMI_IIOP_PORT_APPSERVER,
168: EJBTestUtils.EJB_JARS_PATH + File.separator + ejbJarDir
169: + File.separator + ejbJarName, "");
170: EJBTestUtils.endAddEJB();
171:
172: String[] ejbSetNames = new String[] { ejbSetName_1,
173: ejbSetName_2 };
174: String errMsg = EJBTestUtils.exportRequiredEJBSets(ejbSetNames);
175:
176: EJBTestUtils.removeEJB(ejbSetName_1);
177: EJBTestUtils.removeEJB(ejbSetName_2);
178: if (errMsg == null) {
179: ejbSetNames = new String[] { ejbSetName_1 };
180: errMsg = EJBTestUtils.importEJBSets("", ejbSetNames, true,
181: true);
182: }
183: Util.wait(1000);
184: new QueueTool().waitEmpty();
185:
186: if (errMsg == null) {
187: // the 2nd EJB Set's subnode should not be found
188: server = ServerNavigatorOperator.showNavigatorOperator();
189: Util.wait(1000);
190: new QueueTool().waitEmpty();
191: sntree = server.getTree();
192: Util.wait(1000);
193: try {
194: sntree.findPath(EJBTestUtils.ejbNode + "|"
195: + ejbSetName_2);
196: errMsg = "EJB-subnode [" + ejbSetName_2
197: + "] has been found under tree node ["
198: + EJBTestUtils.ejbNode + "]";
199: EJBTestUtils.removeEJB(ejbSetName_2);
200: } catch (TimeoutExpiredException tee) {
201: TestUtils.outMsg("+++ EJB-subnode [" + ejbSetName_2
202: + "] is not found under tree node ["
203: + EJBTestUtils.ejbNode + "]");
204: }
205: }
206: if (errMsg != null) {
207: Assert.fail(errMsg);
208: }
209: }
210: }
|