Author: rawagner
Date: 2011-12-06 07:39:10 -0500 (Tue, 06 Dec 2011)
New Revision: 36995
Added:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/build.properties
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/requirements.properties
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java
Log:
added EAP test, attempt to fix JBDIE-10276
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project 2011-12-06 11:30:53 UTC
(rev 36994)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project 2011-12-06 12:39:10 UTC
(rev 36995)
@@ -31,4 +31,26 @@
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
+ <linkedResources>
+ <link>
+ <name>lib-org.jboss.tools.common_3.3.0.v20111027-1555-H29-M4</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.common_3.3.0.v20111027-1555-H29-M4</location>
+ </link>
+ <link>
+ <name>lib-org.jboss.tools.jst.web.kb_3.3.0.v20111021-1521-H30-M4</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.jst.web.kb_3.3.0.v20111021-1521-H30-M4</location>
+ </link>
+ <link>
+ <name>lib-org.jboss.tools.tests_3.2.0.v20111108-2302-Beta1</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.tests_3.2.0.v20111108-2302-Beta1</location>
+ </link>
+ <link>
+ <name>lib-org.jboss.tools.ui.bot.ext_3.2.0.v20111108-2302-Beta1</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.ui.bot.ext_3.2.0.v20111108-2302-Beta1</location>
+ </link>
+ </linkedResources>
</projectDescription>
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/build.properties
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/build.properties 2011-12-06
11:30:53 UTC (rev 36994)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/build.properties 2011-12-06
12:39:10 UTC (rev 36995)
@@ -1,4 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ resources/
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/requirements.properties
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/requirements.properties 2011-12-06
11:30:53 UTC (rev 36994)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/requirements.properties 2011-12-06
12:39:10 UTC (rev 36995)
@@ -1 +1 @@
-requirements=jbossas-5.1.0.GA,seam-2.2.0.GA
\ No newline at end of file
+requirements=jbossas-5.1.0.GA,seam-2.2.0.GA,jbossas-6.0.0.Final
\ No newline at end of file
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java 2011-12-06
11:30:53 UTC (rev 36994)
+++
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java 2011-12-06
12:39:10 UTC (rev 36995)
@@ -1,73 +1,77 @@
package org.jboss.tools.maven.ui.bot.test;
-
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
-
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.ui.bot.ext.SWTUtilExt;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
import org.junit.Test;
@SuppressWarnings("restriction")
+@Require(perspective="Java")
public class CreateMavenProjectsTest extends AbstractMavenSWTBotTest{
-
- public static final String
JBOSS6_AS_HOME=System.getProperty("jbosstools.test.jboss.home.6.1",
"/home/eiden/Java/RedHat/JBossASs/jboss-6.1.0.Final");
- public static final String
JBOSS7_AS_HOME=System.getProperty("jbosstools.test.jboss.home.7.0",
"/home/eiden/Java/RedHat/JBossASs/jboss-as-7.0.1.Final1");
- public static final String POM_FILE = "pom.xml";
- public static final String PROJECT_NAME6="JSFProject6";
- public static final String PROJECT_NAME7="JSFProject7";
- public static final String SERVER_RUNTIME6="JBoss 6.x Runtime";
- public static final String SERVER_RUNTIME7="JBoss 7.x Runtime";
- public static final String SERVER6="JBoss AS 6.x";
- public static final String SERVER7="JBoss AS 7.x";
- public static final String GROUPID ="javax.faces";
- public static final String ARTIFACTID ="jsf-api";
- public static final String JSF_VERSION_1_1_02 ="1.1.02";
- public static final String JSF_VERSION_1_2 ="2.0";
- public static final String JSF_VERSION_2 ="2.0";
-
+ public static final String REPO_URL = "http://repo1.maven.org/maven2";
+ protected static SWTWorkbenchBot bot = new SWTWorkbenchBot();
@Test
- public void createSimpleJarProject() throws Exception{
+ public void updateRepositories() throws InterruptedException {
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.menu("Window").menu("Show
View").menu("Other...").click();
+ waitForIdle();
+ botExt.tree().expandNode("Maven").select("Maven Repositories");
+ botExt.button("OK").click();
+ SWTBot b = botExt.viewByTitle("Maven Repositories").bot();
+ AbstractMavenSWTBotTest.waitForIdle();
+ b.tree().expandNode("Global Repositories").getNode("central (" +
REPO_URL + ")").contextMenu("Rebuild Index").click();
+ botExt.button("OK").click();
+ SWTUtilExt util = new SWTUtilExt(botExt);
+ util.waitForAll();
+ }
+
+ @Test
+ public void createSimpleJarProject() throws Exception {
String projectName = "MavenJar";
- createSimpleMavenProject(projectName,"jar");
+ createSimpleMavenProject(projectName, "jar");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
+ Utils.isMavenProject(projectName);
+ buildProject(projectName,"5 Maven build...");
}
-
+
@Test
- public void createSimpleWarProject() throws Exception{
+ public void createSimpleWarProject() throws Exception {
String projectName = "MavenWar";
createSimpleMavenProject(projectName, "war");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
+ Utils.isMavenProject(projectName);
+ buildProject(projectName,"5 Maven build...");
}
-
-
+
@Test
- public void createSimpleJarProjectArchetype() throws Exception{
+ public void createSimpleJarProjectArchetype() throws Exception {
String projectName = "ArchetypeQuickstart";
- createSimpleMavenProjectArchetype(projectName, "maven-archetype-quickstart",
"All Catalogs");
+ createSimpleMavenProjectArchetype(projectName,"maven-archetype-quickstart",
"Nexus Indexer");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
+ Utils.isMavenProject(projectName);
+ buildProject(projectName, "6 Maven build...");
}
-
- @Test
- public void createSimpleJsfProjectArchetype() throws Exception{
- String projectName = "ArchetypeJSF";
- createSimpleMavenProjectArchetype(projectName, "appfuse-basic-jsf", "All
Catalogs");
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- assertNoErrors(project);
- }
-
-
-
-
- private void createSimpleMavenProjectArchetype(String projectName, String projectType,
String catalog) throws InterruptedException, CoreException{
- bot.menu("File").menu("New").menu("Other...").click();
- SWTBot shell = bot.shell("New").activate().bot();
+
+ private void createSimpleMavenProjectArchetype(String projectName,String projectType,
String catalog) throws InterruptedException,CoreException {
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.menu("File").menu("New").menu("Other...").click();
+ waitForIdle();
+ SWTBot shell = botExt.shell("New").activate().bot();
shell.tree().expandNode("Maven").select("Maven Project");
shell.button("Next >").click();
shell.checkBox("Create a simple project (skip archetype
selection)").deselect();
@@ -75,8 +79,8 @@
Thread.sleep(1000);
shell.comboBox().setSelection(catalog);
Thread.sleep(1000);
- int index = bot.table(0).indexOf(projectType,"Artifact Id");
- if(index == -1){
+ int index = botExt.table(0).indexOf(projectType, "Artifact Id");
+ if (index == -1) {
fail(projectType + " not found");
}
shell.table(0).select(index);
@@ -84,13 +88,14 @@
shell.comboBoxWithLabel("Group Id:").setText(projectName);
shell.comboBoxWithLabel("Artifact Id:").setText(projectName);
shell.button("Finish").click();
- waitForJobsToComplete();
+ waitForIdle();
}
-
- private void createSimpleMavenProject(String projectName, String projectType) throws
InterruptedException, CoreException{
- bot.menu("File").menu("New").menu("Other...").click();
- SWTBot shell = bot.shell("New").activate().bot();
- shell.tree().expandNode("Maven").select("Maven Project").click() ;
+
+ private void createSimpleMavenProject(String projectName, String projectType) throws
InterruptedException, CoreException {
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.menu("File").menu("New").menu("Other...").click();
+ SWTBot shell = botExt.shell("New").activate().bot();
+ shell.tree().expandNode("Maven").select("Maven Project").click();
shell.button("Next >").click();
shell.checkBox("Create a simple project (skip archetype
selection)").select();
shell.button("Next >").click();
@@ -98,11 +103,23 @@
shell.comboBoxInGroup("Artifact", 1).setText(projectName);
shell.comboBoxInGroup("Artifact", 4).setText(projectType);
shell.button("Finish").click();
- waitForJobsToComplete();
+ waitForIdle();
}
-
-
-
-
+
+ private void buildProject(String projectName, String mavenBuild) throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ SWTBot explorer = bot.viewByTitle("Package Explorer").bot();
+ SWTBotTreeItem item = explorer.tree().getTreeItem(projectName).select();
+ SWTBotExt swtBot = new SWTBotExt();
+ item.contextMenu("Run As").menu(mavenBuild).click();
+ swtBot.textWithLabel("Goals:").setText("clean package");
+ swtBot.button("Run").click();
+ waitForIdle();
+ project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ project.getFolder("target").refreshLocal(IResource.DEPTH_INFINITE,new
NullProgressMonitor());
+ IFile jarFile = project.getFile("target/" + projectName +
"-0.0.1-SNAPSHOT.jar");
+ assertTrue(jarFile + " is missing ", jarFile.exists());
+ }
+
}
Added:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java 2011-12-06
12:39:10 UTC (rev 36995)
@@ -0,0 +1,183 @@
+package org.jboss.tools.maven.ui.bot.test;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+
+@Require(perspective="Java EE")
+public class CreateMavenizedEARProjectTest {
+
+ public static final String WAR_PROJECT_NAME="earWeb";
+ public static final String EJB_PROJECT_NAME="earEJB";
+ public static final String EAR_PROJECT_NAME="ear";
+
+ private SWTBotExt botext = new SWTBotExt();
+
+
+ @Test
+ public void createEARProject() throws Exception{
+ createWarProject(WAR_PROJECT_NAME);
+ createEJBProject(EJB_PROJECT_NAME);
+ botext.menu("File").menu("Enterprise Application
Project").click();
+ botext.textWithLabel("Project name:").setText(EAR_PROJECT_NAME);
+ botext.button("Modify...").click();
+ botext.tree().getTreeItem("JBoss Maven Integration").check();
+ botext.button("OK").click();
+ botext.button("Next >").click();
+ botext.button("Select All").click();
+ botext.button("Next >").click();
+ botext.comboBoxWithLabel("Packaging:").setSelection("ear");
+ botext.button("Finish").click();
+ waitForIdle();
+ installProject(WAR_PROJECT_NAME);
+ installProject(EJB_PROJECT_NAME);
+ editEARPomDependencies();
+ botext.viewByTitle("Project
Explorer").bot().tree().getTreeItem(EAR_PROJECT_NAME).contextMenu("Run
As").menu("5 Maven build...").click();
+ waitForIdle();
+ botext.textWithLabel("Goals:").setText("clean package");
+ botext.button("Run").click();
+ waitForIdle();
+ }
+
+ private void createWarProject(String projectName){
+ botext.menu("File").menu("Dynamic Web Project").click();
+ botext.textWithLabel("Project name:").setText(projectName);
+ botext.button("Modify...").click();
+ botext.tree().getTreeItem("JBoss Maven Integration").check();
+ botext.button("OK").click();
+ botext.button("Next >").click();
+ botext.button("Next >").click();
+ botext.checkBox("Generate web.xml deployment descriptor").select();
+ botext.button("Next >").click();
+ botext.button("Finish").click();
+ waitForIdle();
+ }
+
+ private void createEJBProject(String projectName){
+ botext.menu("File").menu("EJB Project").click();
+ botext.textWithLabel("Project name:").setText(projectName);
+ botext.button("Modify...").click();
+ botext.tree().getTreeItem("JBoss Maven Integration").check();
+ botext.button("OK").click();
+ botext.button("Next >").click();
+ botext.button("Next >").click();
+ botext.button("Next >").click();
+ botext.comboBoxWithLabel("Packaging:").setSelection("ejb");
+ botext.button("Finish").click();
+ waitForIdle();
+ }
+
+ private void installProject(String projectName) throws InterruptedException{
+ botext.viewByTitle("Project
Explorer").bot().tree().getTreeItem(projectName).contextMenu("Run
As").menu("5 Maven build...").click();
+ botext.textWithLabel("Goals:").setText("clean package install");
+ botext.button("Run").click();
+ waitForIdle();
+ }
+
+ private void editEARPomDependencies() throws ParserConfigurationException, SAXException,
IOException, CoreException, TransformerException{
+ IProject project =
ResourcesPlugin.getWorkspace().getRoot().getProject(EAR_PROJECT_NAME);
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = factory.newDocumentBuilder();
+ Document docPom =
docBuilder.parse(project.getFile("pom.xml").getContents());
+ Element modulesElement = docPom.createElement("modules");
+ Element webModuleElement = docPom.createElement("webModule");
+ Element groupIdWebElement = docPom.createElement("groupId");
+ Element artifactIdWebElement = docPom.createElement("artifactId");
+ Element versionWebElement = docPom.createElement("version");
+ Element bundleFileNameWebElement =
docPom.createElement("bundleFileName");
+ Element ejbModuleElement = docPom.createElement("ejbModule");
+ Element groupIdEjbElement = docPom.createElement("groupId");
+ Element artifactIdEjbElement = docPom.createElement("artifactId");
+ Element groupIdEjbModuleElement = docPom.createElement("groupId");
+ Element artifactIdEjbModuleElement = docPom.createElement("artifactId");
+ Element groupIdWebModuleElement = docPom.createElement("groupId");
+ Element artifactIdWebModuleElement = docPom.createElement("artifactId");
+ Element versionEjbElement = docPom.createElement("version");
+ Element bundleFileNameEjbElement =
docPom.createElement("bundleFileName");
+ Element dependenciesElement = docPom.createElement("dependencies");
+ Element dependencyEjbElement = docPom.createElement("dependency");
+ Element dependencyWarElement = docPom.createElement("dependency");
+ Element typeEjbElement = docPom.createElement("type");
+ Element typeWarElement = docPom.createElement("type");
+
+ groupIdWebElement.setTextContent("org.jboss.tools");
+ groupIdEjbElement.setTextContent("org.jboss.tools");
+ artifactIdWebElement.setTextContent(WAR_PROJECT_NAME);
+ artifactIdEjbElement.setTextContent(EJB_PROJECT_NAME);
+ groupIdWebModuleElement.setTextContent("org.jboss.tools");
+ groupIdEjbModuleElement.setTextContent("org.jboss.tools");
+ artifactIdWebModuleElement.setTextContent(WAR_PROJECT_NAME);
+ artifactIdEjbModuleElement.setTextContent(EJB_PROJECT_NAME);
+ versionWebElement.setTextContent("0.0.1-SNAPSHOT");
+ versionEjbElement.setTextContent("0.0.1-SNAPSHOT");
+ typeWarElement.setTextContent("war");
+ typeEjbElement.setTextContent("ejb");
+
bundleFileNameWebElement.setTextContent(WAR_PROJECT_NAME+"-0.0.1-SNAPSHOT.war");
+
bundleFileNameEjbElement.setTextContent(EJB_PROJECT_NAME+"-0.0.1-SNAPSHOT.jar");
+
+ webModuleElement.appendChild(groupIdWebModuleElement);
+ webModuleElement.appendChild(artifactIdEjbModuleElement);
+ webModuleElement.appendChild(bundleFileNameWebElement);
+ ejbModuleElement.appendChild(groupIdEjbModuleElement);
+ ejbModuleElement.appendChild(artifactIdEjbModuleElement);
+ ejbModuleElement.appendChild(bundleFileNameEjbElement);
+ modulesElement.appendChild(webModuleElement);
+ modulesElement.appendChild(ejbModuleElement);
+
+ dependencyWarElement.appendChild(groupIdWebElement);
+ dependencyWarElement.appendChild(artifactIdWebElement);
+ dependencyWarElement.appendChild(versionWebElement);
+ dependencyWarElement.appendChild(typeWarElement);
+ dependencyEjbElement.appendChild(groupIdEjbElement);
+ dependencyEjbElement.appendChild(artifactIdEjbElement);
+ dependencyEjbElement.appendChild(versionEjbElement);
+ dependencyEjbElement.appendChild(typeEjbElement);
+ dependenciesElement.appendChild(dependencyWarElement);
+ dependenciesElement.appendChild(dependencyEjbElement);
+
+ Element root = docPom.getDocumentElement();
+ Element buildElement =
(Element)root.getElementsByTagName("build").item(0);
+ Node plugin = buildElement.getElementsByTagName("configuration").item(0);
+
+ root.appendChild(dependenciesElement);
+ plugin.appendChild(modulesElement);
+
+ //save xml
+ TransformerFactory transfac = TransformerFactory.newInstance();
+ Transformer trans = transfac.newTransformer();
+ StringWriter xmlAsWriter = new StringWriter();
+ StreamResult result = new StreamResult(xmlAsWriter);
+ DOMSource source = new DOMSource(docPom);
+ trans.transform(source, result);
+ project.getFile("pom.xml").setContents(new
ByteArrayInputStream(xmlAsWriter.toString().getBytes("UTF-8")), 0, null);
+ waitForIdle();
+
+ }
+
+ private static void waitForIdle() {
+ AbstractMavenSWTBotTest.waitForIdle();
+ }
+
+
+}
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java 2011-12-06
11:30:53 UTC (rev 36994)
+++
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java 2011-12-06
12:39:10 UTC (rev 36995)
@@ -29,6 +29,10 @@
import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+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.junit.BeforeClass;
import org.junit.Test;
import org.w3c.dom.Document;
@@ -37,8 +41,8 @@
import org.xml.sax.SAXException;
@SuppressWarnings("restriction")
+@Require(perspective = "Web Development")
public class CreateMavenizedJSFProjectTest{
-
public static final String
JBOSS6_AS_HOME=System.getProperty("jbosstools.test.jboss.home.6.1",
"/home/eiden/Java/RedHat/JBossASs/jboss-6.1.0.Final");
public static final String
JBOSS7_AS_HOME=System.getProperty("jbosstools.test.jboss.home.7.0",
"/home/eiden/Java/RedHat/JBossASs/jboss-as-7.0.1.Final1");
public static final String POM_FILE = "pom.xml";
@@ -136,22 +140,21 @@
private void createJSFProject(String serverRuntime, String server, String serverHome,
String jsfVersion, String projectName) throws InterruptedException, CoreException{
- bot.menu("File").menu("New").menu("Other...").click();
- SWTBot shell = bot.shell("New").activate().bot();
- shell.tree().expandNode("JBoss Tools
Web").expandNode("JSF").select("JSF Project");
- shell.button("Next >").click();
+ bot.menu("File").menu("New").menu("JSF
Project").click();
+ SWTBot shell = bot.shell("New JSF Project").activate().bot();
shell.textWithLabel("Project Name*").setText(projectName);
shell.comboBox(0).setSelection(jsfVersion);
shell.comboBox(1).setSelection("JSFKickStartWithoutLibs");
shell.button("Next >").click();
+ Thread.sleep(1000);
shell.button("New...").click();
SWTBot shellRuntime = bot.shell("New Server Runtime").activate().bot();
- Thread.sleep(1000);
+ Thread.sleep(500);
shellRuntime.tree().expandNode("JBoss Community").select(serverRuntime);
shellRuntime.button("Next >").click();
shellRuntime.textWithLabel("Home Directory").setText(serverHome);
shellRuntime.button("Finish").click();
- Thread.sleep(1000);
+ Thread.sleep(500);
shell.button(1).click();
shellRuntime = bot.shell("New Server").activate().bot();
shellRuntime.tree().expandNode("JBoss Community").select(server);
@@ -197,7 +200,9 @@
private void activateMavenFacet(String projectName) throws InterruptedException,
CoreException{
SWTBot explorer = bot.viewByTitle("Package Explorer").bot();
SWTBotTreeItem item = explorer.tree().getTreeItem(projectName).select();
+ Thread.sleep(500);
item.pressShortcut(Keystrokes.ALT,Keystrokes.LF);
+ Thread.sleep(1000);
SWTBot shellProperties = bot.shell("Properties for
"+projectName).activate().bot();
shellProperties.tree().select("Project Facets");
shellProperties.tree(1).getTreeItem("JBoss Maven Integration").check();
@@ -209,6 +214,7 @@
waitForIdle();
IProject project =
ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
+ Utils.isMavenProject(projectName);
}
private void buildProject(String projectName) throws CoreException{
@@ -293,4 +299,5 @@
private static void assertNoErrors(IProject project) throws CoreException {
WorkspaceHelpers.assertNoErrors(project);
}
+
}
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java 2011-12-06
11:30:53 UTC (rev 36994)
+++
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java 2011-12-06
12:39:10 UTC (rev 36995)
@@ -51,7 +51,6 @@
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotRadio;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
@@ -77,19 +76,19 @@
import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
import org.jboss.tools.seam.core.project.facet.SeamVersion;
import org.jboss.tools.test.util.ResourcesUtils;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.junit.runner.RunWith;
/**
* @author Snjeza
*
*/
@SuppressWarnings("restriction")
-(a)RunWith(SWTBotJunit4ClassRunner.class)
+@Require(perspective="Seam 2")
public class CreateMavenizedSeamProjectTest{
protected static final long IDLE_TIME = 1 * 60 * 1000L;
@@ -160,8 +159,6 @@
public final static void beforeClass() throws Exception {
bot = AbstractMavenSWTBotTest.initSWTBot();
- switchPerspective("org.jboss.tools.seam.ui.SeamPerspective");
-
String asLocation = JBOSS_AS_HOME;
String runtimeType = JBOSS_AS_RUNTIME_ID;
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java 2011-12-06
11:30:53 UTC (rev 36994)
+++
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java 2011-12-06
12:39:10 UTC (rev 36995)
@@ -10,6 +10,7 @@
************************************************************************************/
package org.jboss.tools.maven.ui.bot.test;
+import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -18,14 +19,14 @@
* This is a swtbot testcase for an eclipse application.
*
*/
-
+(a)RunWith(RequirementAwareSuite.class)
@Suite.SuiteClasses({
- MavenProfileSelectionTest.class,
- CreateMavenizedSeamProjectTest.class,
- CreateMavenizedJSFProjectTest.class,
- CreateMavenProjectsTest.class
+ //MavenProfileSelectionTest.class,
+ //CreateMavenizedSeamProjectTest.class,
+ //CreateMavenProjectsTest.class,
+ CreateMavenizedEARProjectTest.class,
+ CreateMavenizedJSFProjectTest.class
})
-(a)RunWith(Suite.class)
public class MavenAllBotTests {
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java 2011-12-06
11:30:53 UTC (rev 36994)
+++
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java 2011-12-06
12:39:10 UTC (rev 36995)
@@ -1,5 +1,17 @@
package org.jboss.tools.maven.ui.bot.test;
+import java.io.File;
+import java.io.IOException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.bindings.keys.KeyStroke;
import org.eclipse.jface.bindings.keys.ParseException;
@@ -12,23 +24,71 @@
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
@SuppressWarnings("restriction")
@RunWith(SWTBotJunit4ClassRunner.class)
public class MavenProfileSelectionTest extends AbstractMavenSWTBotTest {
public static final String AUTOACTIVATED_PROFILE_IN_POM = "active-profile";
- public static final String AUTOACTIVATED_PROFILE_IN_USER_SETTINGS =
"environment";
+ public static final String AUTOACTIVATED_PROFILE_IN_USER_SETTINGS =
"jboss.repository";
+ /*
+ @BeforeClass
+ public static void setUpUserSettings() throws InterruptedException, IOException,
SAXException, ParserConfigurationException, TransformerException{
+ SWTBotExt bot = new SWTBotExt();
+ bot.menu("Window").menu("Preferences").click();
+ bot.tree().expandNode("Maven").select("User Settings");
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = factory.newDocumentBuilder();
+ TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ Transformer transformer = transformerFactory.newTransformer();
+ String settingsLocation = bot.text(1).getText();
+ File settings = null;
+ if(settingsLocation.equals("User settings file doesn't exist")){
+ settingsLocation = bot.text(2).getText();
+ settings = new File(settingsLocation);
+ settings.createNewFile();
+ Document doc = docBuilder.newDocument();
+ Element rootElement = doc.createElement("settings");
+ doc.appendChild(rootElement);
+ DOMSource source = new DOMSource(doc);
+ StreamResult result = new StreamResult(settingsLocation);
+ transformer.transform(source, result);
+ }
+ settings = new File(settingsLocation);
+ Document docPom = docBuilder.parse(settings);
+ Element rootElement = docPom.getDocumentElement();
+ Element profilesElement = docPom.createElement("profiles");
+ Element profileElement = docPom.createElement("profile");
+ Element idElement = docPom.createElement("id");
+ Element activationElement = docPom.createElement("activation");
+ Element activeByDefaultElement = docPom.createElement("activeByDefault");
+
+ idElement.setTextContent(AUTOACTIVATED_PROFILE_IN_USER_SETTINGS);
+ activeByDefaultElement.setTextContent("true");
+
+ activationElement.appendChild(activeByDefaultElement);
+ profileElement.appendChild(activationElement);
+ profileElement.appendChild(idElement);
+ profilesElement.appendChild(profileElement);
+ rootElement.appendChild(profilesElement);
+ DOMSource source = new DOMSource(docPom);
+ StreamResult result = new StreamResult(settingsLocation);
+ transformer.transform(source, result);
+ }
+ */
-
@Test
public void testOpenMavenProfiles() throws Exception {
IProject project = importProject("projects/simple-jar/pom.xml");
waitForJobsToComplete();
- //Select the project
testAutoActivatedProfiles();
final SWTBotView packageExplorer = bot.viewByTitle("Project Explorer");
SWTBot innerBot = packageExplorer.bot();
@@ -59,8 +119,8 @@
private void openProfilesDialog(SWTBotTreeItem projectItem) throws ParseException,
InterruptedException{
projectItem.pressShortcut(Keystrokes.CTRL,
Keystrokes.ALT,KeyStroke.getInstance("P"));
- projectItem.pressShortcut(Keystrokes.DOWN);
- projectItem.pressShortcut(Keystrokes.LF);
+ //projectItem.pressShortcut(Keystrokes.DOWN);
+ //projectItem.pressShortcut(Keystrokes.LF);
final SWTBotShell selectDialogShell = bot.shell("Select Maven profiles");
assertEquals("Select Maven profiles", selectDialogShell.getText());
Thread.sleep(1000);