KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > test > j2ee > jboss4 > JBossValidation


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20
21 package org.netbeans.test.j2ee.jboss4;
22
23 import java.io.File JavaDoc;
24 import junit.textui.TestRunner;
25 import org.netbeans.jellytools.*;
26 import org.netbeans.jellytools.nodes.JavaNode;
27 import org.netbeans.jellytools.nodes.Node;
28 import org.netbeans.jellytools.nodes.ProjectRootNode;
29 import org.netbeans.jemmy.operators.JFrameOperator;
30 import org.netbeans.junit.NbTestSuite;
31 import org.netbeans.junit.ide.ProjectSupport;
32 import org.netbeans.jellytools.actions.Action;
33 import org.netbeans.test.j2ee.lib.Util;
34 import org.netbeans.test.j2ee.lib.ProgressOperator;
35 import java.awt.event.KeyEvent JavaDoc;
36 import java.util.Hashtable JavaDoc;
37 import java.util.Properties JavaDoc;
38 import javax.naming.Context JavaDoc;
39 import javax.naming.InitialContext JavaDoc;
40 import javax.rmi.PortableRemoteObject JavaDoc;
41 import org.netbeans.jellytools.Bundle;
42 import org.netbeans.jellytools.NbDialogOperator;
43 import org.netbeans.jellytools.TopComponentOperator;
44 import org.netbeans.jellytools.actions.CloseAllDocumentsAction;
45 import org.netbeans.jemmy.operators.*;
46 import java.util.*;
47 import org.netbeans.jemmy.operators.JMenuBarOperator;
48 import org.netbeans.jemmy.*;
49 import org.netbeans.test.j2ee.lib.ProgressOperator;
50 import org.netbeans.jellytools.properties.PropertySheetOperator;
51 import org.netbeans.jellytools.properties.Property;
52
53 /**
54  *
55  * @author jpospisil
56  */

57 public class JBossValidation extends JellyTestCase {
58     
59     public static final String JavaDoc PROJECT_NAME = "TestDeployDebugWebApp";
60     public static final String JavaDoc EJB_PROJECT_NAME = "ejb";
61     public static final String JavaDoc EJB_PROJECT_PATH = System.getProperty("xtest.tmpdir") + File.separator + EJB_PROJECT_NAME;
62     public static final String JavaDoc WEB_PROJECT_PATH = System.getProperty("xtest.tmpdir") + File.separator + PROJECT_NAME;
63     
64     
65     
66     int modifiers;
67     
68     public static String JavaDoc openSourceAction = Bundle.getStringTrimmed("org.openide.actions.Bundle", "Open");
69     
70     /** Need to be defined because of JUnit */
71     public JBossValidation(String JavaDoc name) {
72         super(name);
73     }
74     
75     public static NbTestSuite suite() {
76         NbTestSuite suite = new NbTestSuite();
77         suite.addTest(new JBossValidation("addDefaultJBoss"));
78         suite.addTest(new JBossValidation("redeployWebModule"));
79         suite.addTest(new JBossValidation("deployEJBModule"));
80         suite.addTest(new JBossValidation("setSwingBrowser"));
81         suite.addTest(new JBossValidation("debugWebModule"));
82         suite.addTest(new JBossValidation("stopJBoss"));
83         return suite;
84     }
85   
86     public void setUp() {
87         System.out.println("######## "+getName()+" #######");
88         if (System.getProperty("os.name").startsWith("Mac OS X")) {
89             modifiers = KeyEvent.META_DOWN_MASK;
90         } else {
91             modifiers = KeyEvent.CTRL_DOWN_MASK;
92         }
93     }
94     
95    public void addJBoss(String JavaDoc domain){
96        String JavaDoc path = System.getProperty("jboss.server.path");
97        if (path == null) {
98             throw new RuntimeException JavaDoc("Cannot setup jboss, property jboss.server.path is not set.");
99         }
100         Node node = new Node(new RuntimeTabOperator().getRootNode(),Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "SERVER_REGISTRY_NODE"));
101         node.performPopupActionNoBlock(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "LBL_Add_Server_Instance"));
102         NbDialogOperator dialog = new NbDialogOperator(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.wizard.Bundle", "LBL_ASIW_Title"));
103         new JComboBoxOperator(dialog).selectItem("JBoss Application Server");
104         new JButtonOperator(dialog,Bundle.getStringTrimmed("org.openide.Bundle", "CTL_NEXT")).push();
105         new JTextFieldOperator(dialog).setText("");
106         new JTextFieldOperator(dialog).typeText(path);
107         new JButtonOperator(dialog,Bundle.getStringTrimmed("org.openide.Bundle", "CTL_NEXT")).push();
108         new JComboBoxOperator(dialog).selectItem(domain);
109         new JButtonOperator(dialog,Bundle.getStringTrimmed("org.openide.Bundle", "CTL_FINISH")).push();
110         new ProjectsTabOperator();
111     }
112     
113     
114     // Adds JBoss server instance in default domain - working
115
public void addDefaultJBoss(){
116         addJBoss("default");
117     }
118     
119    
120     // Adds JBoss server instance in minimal domain - working
121
public void addMinimalJBoss(){
122        addJBoss("minimal");
123     }
124     
125     // Adds JBoss server instance in all domain - working
126
public void addAllJBoss(){
127         addJBoss("all");
128     }
129     
130     
131     // Stops running JBoss server - working,test of working server recommended to add
132
public void stopJBoss(){
133         RuntimeTabOperator runtimeTab = RuntimeTabOperator.invoke();
134         Node serverNode = new Node(runtimeTab.getRootNode(), Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "SERVER_REGISTRY_NODE")
135                                    +"|JBoss");
136         serverNode.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "LBL_Stop"));
137         org.netbeans.test.j2ee.lib.ProgressOperator.waitFinished("Stopping JBoss Application Server",300000);
138         new org.netbeans.jemmy.EventTool().waitNoEvent(2000);
139     }
140     
141      public void refreshJBoss(){
142         RuntimeTabOperator runtimeTab = RuntimeTabOperator.invoke();
143         Node serverNode = new Node(runtimeTab.getRootNode(), Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "SERVER_REGISTRY_NODE")
144                                    +"|JBoss");
145         serverNode.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "LBL_Refresh"));
146     }
147     
148      
149     // Removes JBoss server from Runtime tab - doesn't work/problem with pressing the OK button in Remove dialog
150
public void removeJBoss(){
151         RuntimeTabOperator runtimeTab = RuntimeTabOperator.invoke();
152         Node serverNode = new Node(runtimeTab.getRootNode(), Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "SERVER_REGISTRY_NODE")
153                                    +"|JBoss");
154         serverNode.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "LBL_Remove"));
155         // The moment test is failing - now is on display dialog with Remove Server Instance in title
156
JDialogOperator rsi = new JDialogOperator(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "MSG_RemoveInstanceTitle"));
157         rsi.activate();
158         //JButtonOperator cancelButton = new JButtonOperator(rsi,Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "LBL_Cancel"));
159
rsi.move(0,0);
160         //rsi.waitClosed();
161
//new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
162

163         //JDialogOperator remove = new JDialogOperator("Remove Server Instance");
164
//JDialogOperator remove = new JDialogOperator(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "MSG_RemoveInstanceTitle"));
165
//remove.activate();
166
//remove.moveMouse(10,10);
167
//JFrameOperator status = new JFrameOperator("Remove Server Instance");
168
//JButtonOperator yesButton = new JButtonOperator(remove,Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "LBL_Cancel"));
169
//yesButton.waitComponentEnabled();
170
/*JButtonOperator yesButton;
171         yesButton = new JButtonOperator(status,Bundle.getStringTrimmed("org.netbeans.web.wizards.Bundle", "LBL_OK"));
172         //yesButton.getTimeouts().setTimeout("ComponentOperator.WaitComponentEnabledTimeout", 300000);
173         try { yesButton.waitComponentEnabled(); }
174         catch (InterruptedException e) { }
175         //new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
176         yesButton.push();*/

177         //JButtonOperator yesButton = new JButtonOperator(status,Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "LBL_Cancel"));
178
//yesButton.push();
179
//new ProjectsTabOperator();
180
}
181      
182    
183    
184    // Deploys web module on JBoss twice - working
185
public void redeployWebModule() {
186         System.err.println(WEB_PROJECT_PATH);
187         Util.openProject(WEB_PROJECT_PATH);
188         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
189         ProjectsTabOperator projectTab=ProjectsTabOperator.invoke();
190         ProjectRootNode prn = projectTab.getProjectRootNode(PROJECT_NAME);
191         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
192         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.ejbjarproject.ui.Bundle", "LBL_RedeployAction_Name"));
193         MainWindowOperator.getDefault().getTimeouts().setTimeout("Waiter.WaitingTime", 300000);
194         MainWindowOperator.getDefault().waitStatusText("Finished building "+PROJECT_NAME+" (run-deploy)");
195         projectTab=ProjectsTabOperator.invoke();
196         prn = projectTab.getProjectRootNode(PROJECT_NAME);
197         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.ejbjarproject.ui.Bundle", "LBL_RedeployAction_Name"));
198         MainWindowOperator.getDefault().getTimeouts().setTimeout("Waiter.WaitingTime", 500000);
199         MainWindowOperator.getDefault().waitStatusText("Finished building "+PROJECT_NAME+" (run-deploy)");
200     }
201     // Debugs web module on JBoss - working
202
public void debugWebModule() {
203         System.err.println(WEB_PROJECT_PATH);
204         Util.openProject(WEB_PROJECT_PATH);
205         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
206         ProjectsTabOperator projectTab=ProjectsTabOperator.invoke();
207         ProjectRootNode prn = projectTab.getProjectRootNode(PROJECT_NAME);
208         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
209         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.web.project.ui.Bundle", "LBL_DebugAction_Name"));
210         MainWindowOperator.getDefault().getTimeouts().setTimeout("Waiter.WaitingTime", 300000);
211         MainWindowOperator.getDefault().waitStatusText("User program running");
212         new org.netbeans.jemmy.EventTool().waitNoEvent(2000);
213     }
214     
215     
216     public void deployEJBModule() {
217         System.err.println(EJB_PROJECT_PATH);
218         Util.openProject(EJB_PROJECT_PATH);
219         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
220         ProjectsTabOperator projectTab=ProjectsTabOperator.invoke();
221         ProjectRootNode prn = projectTab.getProjectRootNode(EJB_PROJECT_NAME);
222         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
223         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.ejbjarproject.ui.Bundle", "LBL_RedeployAction_Name"));
224         MainWindowOperator.getDefault().getTimeouts().setTimeout("Waiter.WaitingTime", 300000);
225         MainWindowOperator.getDefault().waitStatusText("Finished building build.xml (run)");
226         //new org.netbeans.jemmy.EventTool().waitNoEvent(5000);
227

228     }
229     
230    // Starts JBoss server in default mode - working
231
public void startJBoss(){
232         RuntimeTabOperator runtimeTab = RuntimeTabOperator.invoke();
233         Node serverNode = new Node(runtimeTab.getRootNode(), Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "SERVER_REGISTRY_NODE")
234                                    +"|JBoss");
235                 
236         serverNode.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "LBL_Start"));
237         org.netbeans.test.j2ee.lib.ProgressOperator.waitFinished("Starting JBoss Application Server",300000);
238         new org.netbeans.jemmy.EventTool().waitNoEvent(2000);
239     }
240     
241     // Starts JBoss server id debug mode - working
242
public void startJBossDebug(){
243         RuntimeTabOperator runtimeTab = RuntimeTabOperator.invoke();
244         Node serverNode = new Node(runtimeTab.getRootNode(), Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.Bundle", "SERVER_REGISTRY_NODE")
245                                    +"|JBoss");
246                 
247         serverNode.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "LBL_DebugOutput"));
248        // org.netbeans.test.j2ee.lib.ProgressOperator.waitFinished();
249
new org.netbeans.jemmy.EventTool().waitNoEvent(5000);
250     }
251     
252      // Deploys web module on JBoss - working
253
public void deployWebModule() {
254         System.err.println(WEB_PROJECT_PATH);
255         Util.openProject(WEB_PROJECT_PATH);
256         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
257         ProjectsTabOperator projectTab=ProjectsTabOperator.invoke();
258         ProjectRootNode prn = projectTab.getProjectRootNode(PROJECT_NAME);
259         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
260         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.web.project.ui.Bundle", "LBL_RedeployAction_Name"));
261         MainWindowOperator.getDefault().getTimeouts().setTimeout("Waiter.WaitingTime", 300000);
262         MainWindowOperator.getDefault().waitStatusText("Finished building "+PROJECT_NAME+" (run-deploy)");
263
264     }
265     
266      // Deploys web module on JBoss and then debugs it - working partially
267
public void runDebugWebModule() {
268         System.err.println(WEB_PROJECT_PATH);
269         Util.openProject(WEB_PROJECT_PATH);
270         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
271         ProjectsTabOperator projectTab=ProjectsTabOperator.invoke();
272         ProjectRootNode prn = projectTab.getProjectRootNode(PROJECT_NAME);
273         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
274         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.ejbjarproject.ui.Bundle", "LBL_RedeployAction_Name"));
275         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
276         projectTab=ProjectsTabOperator.invoke();
277         prn = projectTab.getProjectRootNode(PROJECT_NAME);
278         prn.performPopupAction(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.ejbjarproject.ui.Bundle", "LBL_DebugAction_Name"));
279         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
280         
281     }
282     
283     //Sets the web browser to Swing
284
public static void setSwingBrowser() {
285         OptionsOperator optionsOper = OptionsOperator.invoke();
286         new JComboBoxOperator(optionsOper,0).selectItem("Swing HTML Browser");
287         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
288         new JButtonOperator(optionsOper,"OK").push();
289         new org.netbeans.jemmy.EventTool().waitNoEvent(1000);
290     }
291    
292     
293     /** Use for execution inside IDE */
294     public static void main(java.lang.String JavaDoc[] args) {
295         // run whole suite
296
TestRunner.run(suite());
297     }
298     
299
300 }
301
Popular Tags