package org.codehaus.mojo.cobertura;
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
import java.io.File;
import org.apache.maven.plugin.Mojo;
import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.PlexusTestCase;
/**
* @author Edwin Punzalan
*/
public class CoberturaReportMojoTest
extends AbstractCoberturaTestCase
{
public void testReport()
throws Exception
{
Mojo mojo =
lookupMojo( "cobertura", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/report-plugin-config.xml" );
setMojoPluginClasspath( mojo );
MavenReport reportMojo = (MavenReport) mojo;
assertTrue( "Should be able to generate a report", reportMojo.canGenerateReport() );
assertTrue( "Should be an externale report", reportMojo.isExternalReport() );
mojo.execute();
File outputHtml = new File( reportMojo.getReportOutputDirectory(), reportMojo.getOutputName() + ".html" );
assertTrue( "Test for generated html file", outputHtml.exists() );
}
public void testReportEmptySourceDir()
throws Exception
{
Mojo mojo =
lookupMojo( "cobertura", PlexusTestCase.getBasedir() +
"/src/test/plugin-configs/report-empty-src-plugin-config.xml" );
setMojoPluginClasspath( mojo );
MavenReport reportMojo = (MavenReport) mojo;
assertFalse( "Should not be able to generate a report", reportMojo.canGenerateReport() );
}
private void setMojoPluginClasspath( Mojo mojo )
throws Exception
{
setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() );
}
}