package org.codehaus.mojo.setup.scm; import java.io.File; import org.apache.maven.scm.provider.clearcase.util.ClearCaseUtil; import org.apache.maven.scm.providers.clearcase.settings.Settings; import org.codehaus.mojo.setup.AbstractSetupMojo; import org.codehaus.plexus.util.FileUtils; public class ClearcaseSettingsSetupMojoTest extends AbstractScmSettingsSetupMojoTest { private ClearcaseSettingsSetupMojo mojo = new ClearcaseSettingsSetupMojo(); final String settingsPath = ".scm/clearcase-settings.xml"; @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 = (ClearcaseSettingsSetupMojo) lookupMojo( "clearcase-settings", testPom ); } @Override protected void prepareMojo( File workDirectory ) throws Exception { super.prepareMojo( workDirectory ); ClearCaseUtil.setSettingsDirectory( new File( workDirectory, ".scm" ) ); //better would be ClearCaseUtil.getSettingsFile(); setTargetFile( FileUtils.resolveFile( workDirectory, settingsPath ) ); } @Override protected AbstractSetupMojo getMojo() { return mojo; } @Override protected String getDefaultTemplateFilename() { return ClearcaseSettingsSetupMojo.DEFAULT_TEMPLATE_FILENAME; } @Override protected String getTestPrefix() { return "clearcase"; } @Override protected String getTemplateBase() { return "clearcase-settings"; } @Override protected void validateAsDefaultTemplate() throws Exception { Settings settings = ClearCaseUtil.getSettings(); assertEquals( false, settings.isUseVWSParameter() ); assertEquals( "changelogUserFormat_defaultTemplate", settings.getChangelogUserFormat() ); assertEquals( "clearcaseType_defaultTemplate", settings.getClearcaseType() ); assertEquals( "viewstore_defaultTemplate", settings.getViewstore() ); } @Override protected void validateAsCustomTemplate() throws Exception { Settings settings = ClearCaseUtil.getSettings(); assertEquals( false, settings.isUseVWSParameter() ); assertEquals( "changelogUserFormat_customTemplate", settings.getChangelogUserFormat() ); assertEquals( "clearcaseType_customTemplate", settings.getClearcaseType() ); assertEquals( "viewstore_customTemplate", settings.getViewstore() ); } @Override protected void validateAsFilteredTemplate() throws Exception { Settings settings = ClearCaseUtil.getSettings(); assertEquals( false, settings.isUseVWSParameter() ); assertEquals( "changelogUserFormat_filteredTemplate", settings.getChangelogUserFormat() ); assertEquals( "clearcaseType_filteredTemplate", settings.getClearcaseType() ); assertEquals( "viewstore_filteredTemplate", settings.getViewstore() ); } @Override protected void validateAsDefaultSettings() throws Exception { Settings settings = ClearCaseUtil.getSettings(); assertEquals( false, settings.isUseVWSParameter() ); assertEquals( "changelogUserFormat_currentSettings", settings.getChangelogUserFormat() ); assertEquals( "clearcaseType_currentSettings", settings.getClearcaseType() ); assertEquals( "viewstore_currentSettings", settings.getViewstore() ); } @Override protected void validateAsNoSettings() throws Exception { Settings settings = ClearCaseUtil.getSettings(); assertEquals( true, settings.isUseVWSParameter() ); assertEquals( null, settings.getChangelogUserFormat() ); assertEquals( null, settings.getClearcaseType() ); assertEquals( null, settings.getViewstore() ); } }