/** * Copyright (c) 2014 Liferay, Inc. All rights reserved. * * The contents of this file are subject to the terms of the End User License * Agreement for Liferay Developer Studio ("License"). You may not use this file * except in compliance with the License. You can obtain a copy of the License * by contacting Liferay, Inc. See the License for the specific language * governing permissions and limitations under the License, including but not * limited to distribution rights of the Software. */ package com.liferay.ide.project.ui.tests; import static org.junit.Assert.assertTrue; import com.liferay.ide.project.core.model.NewLiferayPluginProjectOp; import com.liferay.ide.project.core.model.PluginType; import com.liferay.ide.project.ui.IvyUtil; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.NullProgressMonitor; import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; /** * @author Li Lu */ public class SDKProjectDeploymentTests extends ProjectUITestBase { final NewLiferayPluginProjectOp op = NewLiferayPluginProjectOp.TYPE.instantiate(); private IProject project; @AfterClass public static void cleanUp() throws Exception { deleteAllWorkspaceProjects(); } @Before public void startUp() throws Exception { super.startServer(); } @Override protected IProject createAntProject( NewLiferayPluginProjectOp op ) throws Exception { project = super.createAntProject( op ); IvyUtil.configureIvyProject( project, new NullProgressMonitor() ); return project; } @Test public void testDeployHookPortletProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "HookPortletPorjectTest" ); op.setPluginType( PluginType.hook ); project = createAntProject( op ); addProjectToServer( project ); String expectedMessage = "Hook for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testDeployJSFPortletProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "JSFPortletPorjectTest" ); op.setPluginType( PluginType.portlet ); op.setPortletFramework( "jsf-2.x" ); op.setIncludeSampleCode( true ); project = createAntProject( op ); Thread.sleep( 2000 ); addProjectToServer( project ); String expectedMessage = "1 portlet for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testDeployMVCPortletProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "MVCPortletPorjectTest" ); op.setPluginType( PluginType.portlet ); op.setPortletFramework( "mvc" ); op.setIncludeSampleCode( true ); project = createAntProject( op ); addProjectToServer( project ); String expectedMessage = "1 portlet for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testDeployServiceBuilderPortletProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "ServiceBuilderPorjectTest" ); op.setPluginType( PluginType.servicebuilder ); op.setIncludeSampleCode( true ); project = createAntProject( op ); addProjectToServer( project ); String expectedMessage = "1 portlet for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testDeploySpringMVCPortletProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "SpringMVCPortletPorjectTest" ); op.setPluginType( PluginType.portlet ); op.setPortletFramework( "spring-mvc" ); op.setIncludeSampleCode( true ); project = createAntProject( op ); addProjectToServer( project ); String expectedMessage = "1 portlet for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testDeployThemeProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "ThemePorjectTest" ); op.setPluginType( PluginType.theme ); project = createAntProject( op ); Thread.sleep( 5000 ); addProjectToServer( project ); String expectedMessage = "1 theme for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testDeployVaadinPortletProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "VaadinPortletPorjectTest" ); op.setPluginType( PluginType.portlet ); op.setPortletFramework( "vaadin" ); op.setIncludeSampleCode( true ); project = createAntProject( op ); addProjectToServer( project ); String expectedMessage = "1 portlet for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } @Test public void testExtProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "ExtPorjectTest" ); op.setPluginType( PluginType.ext ); project = createAntProject( op ); addProjectToServer( project ); publishToServer( project ); String expectedMessage = "Server startup in"; Thread.sleep( 50000 ); assertTrue( checkConsoleMessage( expectedMessage ) ); Thread.sleep( 10000 ); } @Test public void testLayoutProject() throws Exception { if( shouldSkipBundleTests() )return; op.setProjectName( "LayoutPorjectTest" ); op.setPluginType( PluginType.layouttpl ); project = createAntProject( op ); addProjectToServer( project ); String expectedMessage = "1 layout template for " + project.getName() + " is available for use"; assertTrue( checkConsoleMessage( expectedMessage ) ); } }