1 19 20 21 package org.netbeans.test.j2ee.jboss4; 22 23 import java.io.File ; 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 ; 36 import java.util.Hashtable ; 37 import java.util.Properties ; 38 import javax.naming.Context ; 39 import javax.naming.InitialContext ; 40 import javax.rmi.PortableRemoteObject ; 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 57 public class JBossValidation extends JellyTestCase { 58 59 public static final String PROJECT_NAME = "TestDeployDebugWebApp"; 60 public static final String EJB_PROJECT_NAME = "ejb"; 61 public static final String EJB_PROJECT_PATH = System.getProperty("xtest.tmpdir") + File.separator + EJB_PROJECT_NAME; 62 public static final String WEB_PROJECT_PATH = System.getProperty("xtest.tmpdir") + File.separator + PROJECT_NAME; 63 64 65 66 int modifiers; 67 68 public static String openSourceAction = Bundle.getStringTrimmed("org.openide.actions.Bundle", "Open"); 69 70 71 public JBossValidation(String 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 domain){ 96 String path = System.getProperty("jboss.server.path"); 97 if (path == null) { 98 throw new RuntimeException ("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 public void addDefaultJBoss(){ 116 addJBoss("default"); 117 } 118 119 120 public void addMinimalJBoss(){ 122 addJBoss("minimal"); 123 } 124 125 public void addAllJBoss(){ 127 addJBoss("all"); 128 } 129 130 131 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 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 JDialogOperator rsi = new JDialogOperator(Bundle.getStringTrimmed("org.netbeans.modules.j2ee.deployment.impl.ui.actions.Bundle", "MSG_RemoveInstanceTitle")); 157 rsi.activate(); 158 rsi.move(0,0); 160 163 177 } 181 182 183 184 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 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 228 } 229 230 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 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 new org.netbeans.jemmy.EventTool().waitNoEvent(5000); 250 } 251 252 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 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 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 294 public static void main(java.lang.String [] args) { 295 TestRunner.run(suite()); 297 } 298 299 300 } 301 | Popular Tags |