/******************************************************************************* * Copyright (c) 2016 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 * * Contributor: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.ui.test.project; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.Collection; import org.jboss.ide.eclipse.as.reddeer.server.requirement.ServerReqType; import org.jboss.ide.eclipse.as.reddeer.server.requirement.ServerRequirement.JBossServer; import org.jboss.reddeer.eclipse.core.resources.Project; import org.jboss.reddeer.eclipse.jdt.ui.ProjectExplorer; import org.jboss.reddeer.junit.internal.runner.ParameterizedRequirementsRunnerFactory; import org.jboss.reddeer.junit.runner.RedDeerSuite; import org.jboss.reddeer.requirements.server.ServerReqState; import org.jboss.tools.jsf.ui.test.requirement.DoNotUseVPERequirement.DoNotUseVPE; import org.jboss.tools.jsf.ui.test.utils.JSFTestUtils; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized.Parameters; import org.junit.runners.Parameterized.UseParametersRunnerFactory; @RunWith(RedDeerSuite.class) @DoNotUseVPE @UseParametersRunnerFactory(ParameterizedRequirementsRunnerFactory.class) @JBossServer(type = ServerReqType.EAP7x, state = ServerReqState.PRESENT) public class CreateJSFProjectTest { protected static final String PROJECT_NAME_BASE = "JSFTestProject"; private String jsfEnvironment; private String template; private String projectName; @Parameters(name = "{0} {1}") public static Collection<String[]> data() { return Arrays.asList( new String[][] {{"JSF 1.2", "JSFKickStartWithoutLibs"}, {"JSF 2.2", "JSFKickStartWithoutLibs"}, {"JSF 1.2 with Facelets", "FaceletsKickStartWithoutLibs"}}); } public CreateJSFProjectTest(String jsfEnvironment, String template) { this.jsfEnvironment = jsfEnvironment; this.template = template; this.projectName = (PROJECT_NAME_BASE + jsfEnvironment).replaceAll("\\s", ""); } @Test public void createProjectTest() { JSFTestUtils.createJSFProject(projectName, jsfEnvironment, template); ProjectExplorer projectExplorer = new ProjectExplorer(); projectExplorer.open(); assertTrue(projectExplorer.containsProject(projectName)); JSFTestUtils.checkProblemsView(); JSFTestUtils.checkErrorLog(); } @After public void teardown() { // delete test project ProjectExplorer projectExplorer = new ProjectExplorer(); Project project = projectExplorer.getProject(projectName); project.delete(true); } }