package org.codehaus.mojo.setup.scm;
import java.io.File;
import org.apache.maven.scm.provider.svn.util.SvnUtil;
import org.apache.maven.scm.providers.svn.settings.Settings;
import org.codehaus.mojo.setup.AbstractSetupMojo;
public class SvnSettingsSetupMojoTest
extends AbstractScmSettingsSetupMojoTest
{
private AbstractSetupMojo mojo = new SvnSettingsSetupMojo();
@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 = (AbstractSetupMojo) lookupMojo( "svn-settings", testPom );
}
@Override
protected void prepareMojo( File workDirectory )
throws Exception
{
super.prepareMojo( workDirectory );
SvnUtil.setSettingsDirectory( new File( workDirectory, ".scm" ) );
setTargetFile( SvnUtil.getSettingsFile() );
}
@Override
protected AbstractSetupMojo getMojo()
{
return mojo;
}
@Override
protected String getDefaultTemplateFilename()
{
return SvnSettingsSetupMojo.DEFAULT_TEMPLATE_FILENAME;
}
@Override
protected String getTestPrefix()
{
return "svn";
}
@Override
protected String getTemplateBase()
{
return "svn-settings";
}
@Override
protected void validateAsDefaultTemplate()
throws Exception
{
Settings settings = SvnUtil.readSettings();
assertEquals( "configDirectory_defaultTemplate", settings.getConfigDirectory() );
assertEquals( true, settings.isUseCygwinPath() );
assertEquals( "cygwinMountPath_defaultTemplate", settings.getCygwinMountPath() );
assertEquals( false, settings.isUseNonInteractive() );
}
@Override
protected void validateAsCustomTemplate()
throws Exception
{
Settings settings = SvnUtil.readSettings();
assertEquals( "configDirectory_customTemplate", settings.getConfigDirectory() );
assertEquals( true, settings.isUseCygwinPath() );
assertEquals( "cygwinMountPath_customTemplate", settings.getCygwinMountPath() );
assertEquals( false, settings.isUseNonInteractive() );
}
@Override
protected void validateAsFilteredTemplate()
throws Exception
{
Settings settings = SvnUtil.readSettings();
assertEquals( "configDirectory_filteredTemplate", settings.getConfigDirectory() );
assertEquals( true, settings.isUseCygwinPath() );
assertEquals( "cygwinMountPath_filteredTemplate", settings.getCygwinMountPath() );
assertEquals( false, settings.isUseNonInteractive() );
}
@Override
protected void validateAsDefaultSettings()
throws Exception
{
Settings settings = SvnUtil.readSettings();
assertEquals( "configDirectory_currentSettings", settings.getConfigDirectory() );
assertEquals( true, settings.isUseCygwinPath() );
assertEquals( "cygwinMountPath_currentSettings", settings.getCygwinMountPath() );
assertEquals( false, settings.isUseNonInteractive() );
}
@Override
protected void validateAsNoSettings()
throws Exception
{
Settings settings = SvnUtil.readSettings();
assertEquals( null, settings.getConfigDirectory() );
assertEquals( false, settings.isUseCygwinPath() );
assertEquals( "/cygwin", settings.getCygwinMountPath() );
assertEquals( true, settings.isUseNonInteractive() );
}
}