[jbosstools-commits] JBoss Tools SVN: r42084 - in trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test: as7 and 2 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Jun 19 11:22:52 EDT 2012


Author: ljelinko
Date: 2012-06-19 11:22:50 -0400 (Tue, 19 Jun 2012)
New Revision: 42084

Added:
   trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/HotDeployJSPFile.java
   trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/UndeployJSPProject.java
   trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/wizard/NewFileWizard.java
Modified:
   trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/AllTestsSuite.java
   trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/DeployJSPProject.java
   trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/web/PageSourceMatcher.java
Log:
Added tests for hot-deploy and undeploy

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/AllTestsSuite.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/AllTestsSuite.java	2012-06-19 15:21:21 UTC (rev 42083)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/AllTestsSuite.java	2012-06-19 15:22:50 UTC (rev 42084)
@@ -3,7 +3,9 @@
 import org.jboss.ide.eclipse.as.ui.bot.test.as7.CreateAS7Test;
 import org.jboss.ide.eclipse.as.ui.bot.test.as7.DeleteAS7Server;
 import org.jboss.ide.eclipse.as.ui.bot.test.as7.DeployJSPProject;
+import org.jboss.ide.eclipse.as.ui.bot.test.as7.HotDeployJSPFile;
 import org.jboss.ide.eclipse.as.ui.bot.test.as7.OperateAS7Server;
+import org.jboss.ide.eclipse.as.ui.bot.test.as7.UndeployJSPProject;
 import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
@@ -13,6 +15,8 @@
 		CreateAS7Test.class, 
 		OperateAS7Server.class,
 		DeployJSPProject.class,
+		HotDeployJSPFile.class,
+		UndeployJSPProject.class,
 		DeleteAS7Server.class
 })
 public class AllTestsSuite {

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/DeployJSPProject.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/DeployJSPProject.java	2012-06-19 15:21:21 UTC (rev 42083)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/DeployJSPProject.java	2012-06-19 15:22:50 UTC (rev 42084)
@@ -21,7 +21,7 @@
 @Require(server=@Server(type=ServerType.EAP, state=ServerState.Running))
 public class DeployJSPProject extends SWTTestExt {
 
-	private static final String PROJECT_NAME = "jsp-as7";
+	public static final String PROJECT_NAME = "jsp-as7";
 	
 	@Before
 	public void importProject(){
@@ -38,8 +38,8 @@
 		serversView.addProjectToServer(PROJECT_NAME, configuredState.getServer().name);
 		
 		// console
-		assertThat("Exception:", not(new ConsoleOutputMatcher(TaskDuration.NORMAL)));
 		assertThat("Registering web context: /" + PROJECT_NAME, new ConsoleOutputMatcher(TaskDuration.NORMAL));
+		assertThat("Exception:", not(new ConsoleOutputMatcher()));
 		// view
 		assertTrue("Server contains project", serversView.containsProject(configuredState.getServer().name, PROJECT_NAME));
 		assertEquals("Started", serversView.getServerStatus(configuredState.getServer().name));

Added: trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/HotDeployJSPFile.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/HotDeployJSPFile.java	                        (rev 0)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/HotDeployJSPFile.java	2012-06-19 15:22:50 UTC (rev 42084)
@@ -0,0 +1,28 @@
+package org.jboss.ide.eclipse.as.ui.bot.test.as7;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.jboss.ide.eclipse.as.ui.bot.test.web.PageSourceMatcher;
+import org.jboss.ide.eclipse.as.ui.bot.test.wizard.NewFileWizard;
+import org.jboss.tools.ui.bot.ext.SWTBotFactory;
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.junit.Test;
+
+public class HotDeployJSPFile extends SWTTestExt {
+
+	public static final String JSP_CONTENT = 
+				"<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%> \n" + 
+				"<html> <body> Hot deployment </body> </html>";
+	
+	@Test
+	public void hotDeployment(){
+		NewFileWizard wizard = new NewFileWizard();
+		wizard.setPath(DeployJSPProject.PROJECT_NAME, "WebContent");
+		wizard.setFileName("hot.jsp");
+		wizard.setText(JSP_CONTENT);
+		wizard.execute();
+		
+		SWTBotFactory.getBot().sleep(5000);
+		assertThat("Hot deployment", new PageSourceMatcher("http://localhost:8080/" + DeployJSPProject.PROJECT_NAME + "/hot.jsp"));
+	}
+}

Added: trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/UndeployJSPProject.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/UndeployJSPProject.java	                        (rev 0)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/as7/UndeployJSPProject.java	2012-06-19 15:22:50 UTC (rev 42084)
@@ -0,0 +1,32 @@
+package org.jboss.ide.eclipse.as.ui.bot.test.as7;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.not;
+
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.jboss.tools.ui.bot.ext.condition.TaskDuration;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerState;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerType;
+import org.jboss.tools.ui.bot.ext.matcher.console.ConsoleOutputMatcher;
+import org.jboss.tools.ui.bot.ext.view.ServersView;
+import org.junit.Test;
+
+ at Require(server=@Server(type=ServerType.EAP, state=ServerState.Running), clearProjects=false, clearWorkspace=false)
+public class UndeployJSPProject extends SWTTestExt {
+
+	@Test
+	public void deployJSPProject(){
+		ServersView serversView = new ServersView();
+		serversView.removeProjectFromServer(DeployJSPProject.PROJECT_NAME, configuredState.getServer().name);
+		
+		// console
+		assertThat("Undeployed \"" + DeployJSPProject.PROJECT_NAME + ".war\"", new ConsoleOutputMatcher(TaskDuration.NORMAL));
+		assertThat("Exception:", not(new ConsoleOutputMatcher()));
+		// view
+		assertFalse("Server contains project", serversView.containsProject(configuredState.getServer().name, DeployJSPProject.PROJECT_NAME));	
+		assertEquals("Started", serversView.getServerStatus(configuredState.getServer().name));
+		assertEquals("Synchronized", serversView.getServerPublishStatus(configuredState.getServer().name));
+	}
+}

Modified: trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/web/PageSourceMatcher.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/web/PageSourceMatcher.java	2012-06-19 15:21:21 UTC (rev 42083)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/web/PageSourceMatcher.java	2012-06-19 15:22:50 UTC (rev 42084)
@@ -3,18 +3,35 @@
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeMatcher;
 import org.jboss.tools.ui.bot.ext.SWTBotFactory;
+import org.jboss.tools.ui.bot.ext.parts.SWTBotBrowserExt;
 
 public class PageSourceMatcher extends TypeSafeMatcher<String> {
 
 	private String pageText;
 
+	private String url;
+	
 	public PageSourceMatcher() {
 		super();
 	}
 
+	public PageSourceMatcher(String url) {
+		this();
+		this.url = url;
+	}
+	
 	@Override
 	public boolean matchesSafely(String item) {
-		pageText = SWTBotFactory.getBot().browser().getText();
+		SWTBotBrowserExt browser = SWTBotFactory.getBot().browserExt();
+		if (url != null){
+			browser.loadUrlToBrowser(url, SWTBotFactory.getBot());
+		}
+		
+		pageText = browser.getText();
+		System.out.println("Page text: " + pageText);
+		if ("".equals(item)){
+			return pageText.equals(item);
+		}
 		return pageText.contains(item);
 	}
 

Added: trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/wizard/NewFileWizard.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/wizard/NewFileWizard.java	                        (rev 0)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.ui.bot.test/src/org/jboss/ide/eclipse/as/ui/bot/test/wizard/NewFileWizard.java	2012-06-19 15:22:50 UTC (rev 42084)
@@ -0,0 +1,43 @@
+package org.jboss.ide.eclipse.as.ui.bot.test.wizard;
+
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.jboss.tools.ui.bot.ext.SWTBotFactory;
+import org.jboss.tools.ui.bot.ext.SWTEclipseExt;
+import org.jboss.tools.ui.bot.ext.gen.ActionItem;
+import org.jboss.tools.ui.bot.ext.wizards.SWTBotNewObjectWizard;
+
+public class NewFileWizard {
+
+	private SWTBotNewObjectWizard wizard = new SWTBotNewObjectWizard();
+	
+	private String[] path;
+	
+	private String fileName;
+	
+	private String text;
+	
+	public void execute(){
+		wizard.open(ActionItem.NewObject.GeneralFile.LABEL.getName(), ActionItem.NewObject.GeneralFile.LABEL.getGroupPath().get(0));
+		SWTEclipseExt.selectTreeLocation(SWTBotFactory.getBot(), path);
+		SWTBotFactory.getBot().textWithLabel("File name:").setText(fileName);
+		wizard.finishWithWait();
+		
+		if (text != null){
+			SWTBotEditor editor = SWTBotFactory.getBot().editorByTitle(fileName);
+			editor.toTextEditor().setText(text);
+			editor.saveAndClose();
+		}
+	}
+	
+	public void setPath(String... path) {
+		this.path = path;
+	}
+	
+	public void setFileName(String fileName) {
+		this.fileName = fileName;
+	}
+	
+	public void setText(String text) {
+		this.text = text;
+	}
+}



More information about the jbosstools-commits mailing list