/*******************************************************************************
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
*******************************************************************************/
package com.liferay.ide.project.core.tests.modules;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import com.liferay.ide.core.util.CoreUtil;
import com.liferay.ide.project.core.modules.NewLiferayModuleProjectOp;
import com.liferay.ide.project.core.modules.NewLiferayModuleProjectOpMethods;
import com.liferay.ide.project.core.modules.PropertyKey;
import com.liferay.ide.project.core.util.SearchFilesVisitor;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.sapphire.modeling.Status;
import org.eclipse.sapphire.platform.ProgressMonitorBridge;
import org.junit.Ignore;
import org.junit.Test;
/**
* @author Simon Jiang
* @author Andy Wu
*/
public class NewLiferayModuleProjectOpTests
{
@Test
@Ignore
public void testNewLiferayModuleProjectDefaultValueServiceDashes() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "my-test-project" );
op.setProjectTemplateName( "portlet" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
}
@Test
@Ignore
public void testNewLiferayModuleProjectDefaultValueServiceDots() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "my.test.project" );
op.setProjectTemplateName( "portlet" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
}
@Test
@Ignore
public void testNewLiferayModuleProjectDefaultValueServiceIsListeningToProjectName() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "my.test.project" );
op.setProjectTemplateName( "portlet" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
op.setProjectName( "my_abc-test" );
assertEquals( "MyAbcTest", op.getComponentName().content( true ) );
}
@Test
@Ignore
public void testNewLiferayModuleProjectDefaultValueServiceIsListeningToProjectTemplateName() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "my.test.project" );
op.setProjectTemplateName( "activator" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
op.setProjectTemplateName( "portlet" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
op.setProjectTemplateName( "mvc-portlet" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
op.setProjectTemplateName( "service" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
op.setProjectTemplateName( "service-wrapper" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
op.setProjectTemplateName( "service-builder" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
}
@Test
@Ignore
public void testNewLiferayModuleProjectDefaultValueServiceUnderscores() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "my_test_project" );
op.setProjectTemplateName( "portlet" );
assertEquals( "MyTestProject", op.getComponentName().content( true ) );
}
@Test
@Ignore
public void testNewLiferayModuleProjectPackageDefaultValueService() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "my-test-project" );
op.setProjectTemplateName( "Portlet" );
assertEquals( "my.test.project", op.getPackageName().content( true ) );
op.setProjectName( "my.test.foo" );
assertEquals( "my.test.foo", op.getPackageName().content( true ) );
op.setProjectName( "my_test_foo1" );
op.setProjectTemplateName( "ServiceWrapper" );
assertEquals( "my.test.foo1", op.getPackageName().content( true ) );
}
@Test
public void testNewLiferayModuleProjectNewProperties() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "test-properties-in-portlet" );
op.setProjectTemplateName( "portlet" );
op.setComponentName( "Test" );
PropertyKey pk = op.getPropertyKeys().insert();
pk.setName( "property-test-key" );
pk.setValue( "property-test-value" );
Status exStatus =
NewLiferayModuleProjectOpMethods.execute( op, ProgressMonitorBridge.create( new NullProgressMonitor() ) );
assertEquals( "OK", exStatus.message() );
IProject modPorject = CoreUtil.getProject( op.getProjectName().content() );
modPorject.open( new NullProgressMonitor() );
SearchFilesVisitor sv = new SearchFilesVisitor();
List<IFile> searchFiles = sv.searchFiles( modPorject, "TestPortlet.java" );
IFile componentClassFile = searchFiles.get( 0 );
assertEquals( componentClassFile.exists(), true );
String actual = CoreUtil.readStreamToString( componentClassFile.getContents() );
assertTrue( actual, actual.contains( "\"property-test-key=property-test-value\"" ) );
}
@Test
public void testNewLiferayPortletProviderNewProperties() throws Exception
{
NewLiferayModuleProjectOp op = NewLiferayModuleProjectOp.TYPE.instantiate();
op.setProjectName( "test-properties-in-portlet-provider" );
op.setComponentName( "Test" );
op.setProjectTemplateName( "portlet-provider" );
PropertyKey pk = op.getPropertyKeys().insert();
pk.setName( "property-test-key" );
pk.setValue( "property-test-value" );
Status exStatus =
NewLiferayModuleProjectOpMethods.execute( op, ProgressMonitorBridge.create( new NullProgressMonitor() ) );
assertTrue( exStatus.message(), exStatus.ok() );
IProject modPorject = CoreUtil.getProject( op.getProjectName().content() );
modPorject.open( new NullProgressMonitor() );
IFile testAddPortletProvider =
modPorject.getFile( "src/main/java/test/properties/in/portlet/provider/portlet/TestAddPortletProvider.java" );
assertTrue( testAddPortletProvider.exists() );
SearchFilesVisitor sv = new SearchFilesVisitor();
List<IFile> searchFiles = sv.searchFiles( modPorject, "TestAddPortletProvider.java" );
IFile componentClassFile = searchFiles.get( 0 );
assertEquals( componentClassFile.exists(), true );
String actual = CoreUtil.readStreamToString( componentClassFile.getContents() );
assertTrue( actual.contains( "property-test-key=property-test-value" ) );
}
}