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: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package gui.setup;
043:
044: import org.netbeans.jellytools.*;
045: import org.netbeans.jellytools.nodes.Node;
046: import org.netbeans.jemmy.operators.*;
047: import org.netbeans.junit.ide.ProjectSupport;
048: import org.netbeans.jellytools.Bundle;
049: import org.netbeans.jellytools.NbDialogOperator;
050: import org.netbeans.jellytools.TopComponentOperator;
051: import org.netbeans.jellytools.actions.CloseAllDocumentsAction;
052:
053: public class EJBSetupTest extends org.netbeans.junit.NbTestCase {
054:
055: public EJBSetupTest(java.lang.String testName) {
056: super (testName);
057: }
058:
059: public void testOpenEJBProject() {
060: ProjectSupport.openProject(System.getProperty("xtest.tmpdir")
061: + "/perf/TestApplication");
062: ProjectSupport.waitScanFinished();
063: ProjectSupport.openProject(System.getProperty("xtest.tmpdir")
064: + "/perf/TestApplication/TestApplication-ejb");
065: ProjectSupport.waitScanFinished();
066: ProjectSupport.openProject(System.getProperty("xtest.tmpdir")
067: + "/perf/TestApplication/TestApplication-war");
068: ProjectSupport.waitScanFinished();
069: ProjectSupport.openProject(System.getProperty("xtest.tmpdir")
070: + "/perf/DeployTest");
071: ProjectSupport.waitScanFinished();
072: ProjectSupport.openProject(System.getProperty("xtest.tmpdir")
073: + "/perf/DeployTest/DeployTest-ejb");
074: ProjectSupport.waitScanFinished();
075: ProjectSupport.openProject(System.getProperty("xtest.tmpdir")
076: + "/perf/DeployTest/DeployTest-war");
077: ProjectSupport.waitScanFinished();
078: //waitForScan();
079: }
080:
081: public void testAddAppServer() {
082: String path = System.getProperty("j2ee.appserver.path");
083: if (path == null) {
084: if (System.getProperty("os.name").toLowerCase().indexOf(
085: "windows") >= 0) {
086: path = "E:\\space\\AppServer";
087: //path = "E:\\Sun\\AppServer-8.1_01_b04";
088: } else {
089: path = "/space/appserver";
090: }
091: }
092: String username = System.getProperty("j2ee.appserver.username",
093: "admin");
094: String password = System.getProperty("j2ee.appserver.password",
095: "adminadmin");
096:
097: Node node = new Node(new RuntimeTabOperator().getRootNode(),
098: "Servers");
099: node.performPopupActionNoBlock("Add Server...");
100: NbDialogOperator dialog = new NbDialogOperator("Add Server");
101: new JComboBoxOperator(dialog).selectItem("Glassfish V2");
102: new JButtonOperator(dialog, "Next").push();
103:
104: //"Enter the Application Server location" or "Define Application Server Instance Properties"
105: if (new JLabelOperator(dialog, 1).getText().equalsIgnoreCase(
106: "Enter the Application Server location")) {
107: new JTextFieldOperator(dialog).setText("");
108: new JTextFieldOperator(dialog).typeText(path);
109: new JButtonOperator(dialog, "Next").push();
110: }
111: new JTextFieldOperator(dialog, 0).setText("");
112: new JTextFieldOperator(dialog, 1).setText("");
113: new JTextFieldOperator(dialog, 0).typeText(username);
114: new JTextFieldOperator(dialog, 1).typeText(password);
115: new JButtonOperator(dialog, "Finish").push();
116: new ProjectsTabOperator();
117: }
118:
119: public void closeAllDocuments() {
120: new CloseAllDocumentsAction().perform();
121: }
122:
123: public void closeNavigator() {
124: new TopComponentOperator("Navigator").close();
125: }
126:
127: public void testCloseMemoryToolbar() {
128: String MENU = org.netbeans.jellytools.Bundle.getStringTrimmed(
129: "org.netbeans.core.Bundle", "Menu/View")
130: + "|"
131: + org.netbeans.jellytools.Bundle.getStringTrimmed(
132: "org.netbeans.core.windows.actions.Bundle",
133: "CTL_ToolbarsListAction")
134: + "|"
135: + org.netbeans.jellytools.Bundle.getStringTrimmed(
136: "org.netbeans.core.Bundle", "Toolbars/Memory");
137:
138: MainWindowOperator mainWindow = MainWindowOperator.getDefault();
139: JMenuBarOperator menuBar = new JMenuBarOperator(mainWindow
140: .getJMenuBar());
141: JMenuItemOperator menuItem = menuBar.showMenuItem(MENU, "|");
142:
143: if (menuItem.isSelected())
144: menuItem.push();
145: else {
146: menuItem.pushKey(java.awt.event.KeyEvent.VK_ESCAPE);
147: mainWindow.pushKey(java.awt.event.KeyEvent.VK_ESCAPE);
148: }
149:
150: }
151:
152: private void waitForScan() {
153: // "Scanning Project Classpaths"
154: String titleScanning = Bundle.getString(
155: "org.netbeans.modules.javacore.Bundle",
156: "TXT_ApplyingPathsTitle");
157: NbDialogOperator scanningDialogOper = new NbDialogOperator(
158: titleScanning);
159: // scanning can last for a long time => wait max. 5 minutes
160: scanningDialogOper.getTimeouts().setTimeout(
161: "ComponentOperator.WaitStateTimeout", 300000);
162: scanningDialogOper.waitClosed();
163: }
164:
165: }
|