/*******************************************************************************
* Copyright (c) 2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.maven.ui.bot.test.project;
import org.jboss.ide.eclipse.as.reddeer.server.requirement.ServerReqType;
import org.jboss.ide.eclipse.as.reddeer.server.requirement.ServerRequirement;
import org.jboss.ide.eclipse.as.reddeer.server.requirement.ServerRequirement.JBossServer;
import org.jboss.reddeer.eclipse.ui.perspectives.JavaEEPerspective;
import org.jboss.reddeer.junit.requirement.inject.InjectRequirement;
import org.jboss.reddeer.requirements.cleanworkspace.CleanWorkspaceRequirement.CleanWorkspace;
import org.jboss.reddeer.requirements.openperspective.OpenPerspectiveRequirement.OpenPerspective;
import org.jboss.reddeer.requirements.server.ServerReqState;
import org.jboss.tools.jsf.reddeer.ui.JSFNewProjectFirstPage;
import org.jboss.tools.jsf.reddeer.ui.JSFNewProjectSecondPage;
import org.jboss.tools.jsf.reddeer.ui.JSFNewProjectWizard;
import org.jboss.tools.maven.ui.bot.test.AbstractMavenSWTBotTest;
import org.junit.Test;
@OpenPerspective(JavaEEPerspective.class)
@JBossServer(state=ServerReqState.PRESENT, type=ServerReqType.WILDFLY8x)
public class JSFProjectTest extends AbstractMavenSWTBotTest{
public static final String POM_FILE = "pom.xml";
public static final String PROJECT_NAME7="JSFProject7";
public static final String PROJECT_NAME7_v1="JSFProject7_1.2";
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";
@InjectRequirement
private ServerRequirement sr;
/*
@BeforeClass
public static void openPerspective(){
new ShellMenu("Window","Open Perspective","Other...").select();
new DefaultShell("Open Perspective");
new DefaultTableItem("Web Development").select();
new OkButton().click();
new WaitWhile(new ShellWithTextIsAvailable("Open Perspective"));
}
*/
@Test
public void createJSFProjectTest_AS7_JSFv2(){
createJSFProject(PROJECT_NAME7, "JSF 2.0", "JSFKickStartWithoutLibs", sr.getRuntimeNameLabelText(sr.getConfig()));
convertToMavenProject(PROJECT_NAME7, "war", false);
addDependency(PROJECT_NAME7, GROUPID,ARTIFACTID,JSF_VERSION_2);
buildProject(PROJECT_NAME7,"..Maven build...","clean package",true);
checkWebTarget(PROJECT_NAME7, PROJECT_NAME7+"-0.0.1-SNAPSHOT");
}
@Test
public void createJSFProjectTest_AS7_JSFv1() {
createJSFProject(PROJECT_NAME7_v1, "JSF 1.2", "JSFKickStartWithoutLibs", sr.getRuntimeNameLabelText(sr.getConfig()));
convertToMavenProject(PROJECT_NAME7_v1, "war", false);
addDependency(PROJECT_NAME7_v1, GROUPID,ARTIFACTID,JSF_VERSION_1_2);
buildProject(PROJECT_NAME7_v1,"..Maven build...","clean package",true);
checkWebTarget(PROJECT_NAME7_v1,PROJECT_NAME7_v1+"-0.0.1-SNAPSHOT");
}
private void createJSFProject(String name, String version, String jsfType, String runtime){
JSFNewProjectWizard jsfd = new JSFNewProjectWizard();
jsfd.open();
JSFNewProjectFirstPage fp = new JSFNewProjectFirstPage();
fp.setProjectName(name);
fp.setJSFEnvironment(version);
fp.setProjectTemplate(jsfType);
jsfd.next();
JSFNewProjectSecondPage sp = new JSFNewProjectSecondPage();
sp.setRuntime(runtime);
jsfd.finish();
}
}