package org.codehaus.mojo.setup.scm;
import java.io.File;
import org.apache.maven.scm.provider.git.util.GitUtil;
import org.apache.maven.scm.providers.gitlib.settings.Settings;
import org.codehaus.mojo.setup.AbstractSetupMojo;
public class GitSettingsSetupMojoTest
extends AbstractScmSettingsSetupMojoTest
{
private GitSettingsSetupMojo mojo = new GitSettingsSetupMojo();
@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 = (GitSettingsSetupMojo) lookupMojo( "git-settings", testPom );
}
@Override
protected void prepareMojo( File workDirectory )
throws Exception
{
super.prepareMojo( workDirectory );
GitUtil.setSettingsDirectory( new File( workDirectory, ".scm" ) );
setTargetFile( GitUtil.getSettingsFile() ) ;
}
@Override
protected AbstractSetupMojo getMojo()
{
return mojo;
}
@Override
protected String getDefaultTemplateFilename()
{
return GitSettingsSetupMojo.DEFAULT_TEMLPATE_FILENAME;
}
@Override
protected String getTestPrefix()
{
return "git";
}
@Override
protected String getTemplateBase()
{
return "git-settings";
}
@Override
protected void validateAsDefaultTemplate()
throws Exception
{
Settings settings = GitUtil.readSettings();
assertEquals( true, settings.isCommitNoVerify() );
assertEquals( "revParseDateFormat_defaultTemplate", settings.getRevParseDateFormat() );
assertEquals( "traceGitCommand_defaultTemplate", settings.getTraceGitCommand() );
}
@Override
protected void validateAsCustomTemplate()
throws Exception
{
Settings settings = GitUtil.readSettings();
assertEquals( true, settings.isCommitNoVerify() );
assertEquals( "revParseDateFormat_customTemplate", settings.getRevParseDateFormat() );
assertEquals( "traceGitCommand_customTemplate", settings.getTraceGitCommand() );
}
@Override
protected void validateAsFilteredTemplate()
throws Exception
{
Settings settings = GitUtil.readSettings();
assertEquals( true, settings.isCommitNoVerify() );
assertEquals( "revParseDateFormat_filteredTemplate", settings.getRevParseDateFormat() );
assertEquals( "traceGitCommand_filteredTemplate", settings.getTraceGitCommand() );
}
@Override
protected void validateAsDefaultSettings()
throws Exception
{
Settings settings = GitUtil.readSettings();
assertEquals( true, settings.isCommitNoVerify() );
assertEquals( "revParseDateFormat_currentSettings", settings.getRevParseDateFormat() );
assertEquals( "traceGitCommand_currentSettings", settings.getTraceGitCommand() );
}
@Override
protected void validateAsNoSettings()
throws Exception
{
Settings settings = GitUtil.readSettings();
assertEquals( false, settings.isCommitNoVerify() );
assertEquals( "yyyy-MM-dd HH:mm:ss", settings.getRevParseDateFormat() );
assertEquals( "", settings.getTraceGitCommand() );
}
}