package org.codehaus.mojo.setup.scm;
import java.io.File;
import org.apache.maven.scm.provider.cvslib.util.CvsUtil;
import org.apache.maven.scm.providers.cvslib.settings.Settings;
import org.codehaus.mojo.setup.AbstractSetupMojo;
/*
* This test can't work unless CvsUtil has a way to get the settingsdirectory
*/
public class CvsSettingsSetupMojoTest
extends AbstractScmSettingsSetupMojoTest
{
private CvsSettingsSetupMojo mojo = new CvsSettingsSetupMojo();
@Override
protected void onSetUp()
throws Exception
{
super.onSetUp();
File testPom =
new File( getBasedir(),
"src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" );
mojo = (CvsSettingsSetupMojo) lookupMojo( "cvs-settings", testPom );
}
@Override
protected void prepareMojo( File workDirectory )
throws Exception
{
super.prepareMojo( workDirectory );
CvsUtil.setSettingsDirectory( new File( workDirectory, ".scm" ) );
setTargetFile( CvsUtil.getSettingsFile() ) ;
}
@Override
protected AbstractSetupMojo getMojo()
{
return mojo;
}
@Override
protected String getDefaultTemplateFilename()
{
return CvsSettingsSetupMojo.DEFAULT_TEMPLATE_FILENAME;
}
@Override
protected String getTestPrefix()
{
return "cvs";
}
@Override
protected String getTemplateBase()
{
return "cvs-settings";
}
@Override
protected void validateAsDefaultTemplate()
throws Exception
{
Settings settings = CvsUtil.readSettings();
assertEquals( true, settings.isTraceCvsCommand() );
assertEquals( true, settings.isUseCvsrc() );
assertEquals( false, settings.isUseForceTag() );
assertEquals( "changeLogCommandDateFormat_defaultTemplate", settings.getChangeLogCommandDateFormat() );
assertEquals( "temporaryFilesDirectory_defaultTemplate", settings.getTemporaryFilesDirectory() );
assertEquals( "cvsVariables_defaultTemplate", settings.getCvsVariables().get( "key" ) );
assertEquals( 1, settings.getCompressionLevel() );
}
@Override
protected void validateAsCustomTemplate()
throws Exception
{
Settings settings = CvsUtil.readSettings();
assertEquals( true, settings.isTraceCvsCommand() );
assertEquals( true, settings.isUseCvsrc() );
assertEquals( false, settings.isUseForceTag() );
assertEquals( "changeLogCommandDateFormat_customTemplate", settings.getChangeLogCommandDateFormat() );
assertEquals( "temporaryFilesDirectory_customTemplate", settings.getTemporaryFilesDirectory() );
assertEquals( "cvsVariables_customTemplate", settings.getCvsVariables().get( "key" ) );
assertEquals( 2, settings.getCompressionLevel() );
}
@Override
protected void validateAsFilteredTemplate()
throws Exception
{
Settings settings = CvsUtil.readSettings();
assertEquals( true, settings.isTraceCvsCommand() );
assertEquals( true, settings.isUseCvsrc() );
assertEquals( false, settings.isUseForceTag() );
assertEquals( "changeLogCommandDateFormat_filteredTemplate", settings.getChangeLogCommandDateFormat() );
assertEquals( "temporaryFilesDirectory_filteredTemplate", settings.getTemporaryFilesDirectory() );
assertEquals( "cvsVariables_filteredTemplate", settings.getCvsVariables().get( "key" ) );
assertEquals( 4, settings.getCompressionLevel() );
}
@Override
protected void validateAsDefaultSettings()
throws Exception
{
Settings settings = CvsUtil.readSettings();
assertEquals( true, settings.isTraceCvsCommand() );
assertEquals( true, settings.isUseCvsrc() );
assertEquals( false, settings.isUseForceTag() );
assertEquals( "changeLogCommandDateFormat_currentSettings", settings.getChangeLogCommandDateFormat() );
assertEquals( "temporaryFilesDirectory_currentSettings", settings.getTemporaryFilesDirectory() );
assertEquals( "cvsVariables_currentSettings", settings.getCvsVariables().get( "key" ) );
assertEquals( 5, settings.getCompressionLevel() );
}
@Override
protected void validateAsNoSettings()
throws Exception
{
Settings settings = CvsUtil.readSettings();
assertEquals( false, settings.isTraceCvsCommand() );
assertEquals( false, settings.isUseCvsrc() );
assertEquals( true, settings.isUseForceTag() );
assertEquals( "yyyy-MM-dd HH:mm:ssZ", settings.getChangeLogCommandDateFormat() );
assertEquals( null, settings.getTemporaryFilesDirectory() );
assertEquals( null, settings.getCvsVariables().get( "key" ) );
assertEquals( 3, settings.getCompressionLevel() );
}
}