package org.codehaus.mojo.fitnesse; /* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 2. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Foobar. If not, see <http://www.gnu.org/licenses/>. */ import junit.framework.TestCase; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.reporting.MavenReportException; public class FitnessePageTest extends TestCase { public void testIsFitnessePageResult() { FitnessePage tPage = new FitnessePage(); tPage.setFileName( "target/test-classes/onlyOneReport/fitnesse/fitnesseResult_localhost_SuiteCoverage3.html" ); assertTrue( tPage.isFitnessePageResult() ); tPage.setFileName( "target/test-classes/onlyOneReport/fitnesse/fitnesseResult_localhost_SuiteCoverage3_output.txt" ); assertFalse( tPage.isFitnessePageResult() ); tPage.setFileName( "target/test-classes/remote/fitnesse.js" ); assertFalse( tPage.isFitnessePageResult() ); tPage.setFileName( "target/test-classes/remote/fitnesse_base.css" ); assertFalse( tPage.isFitnessePageResult() ); tPage.setFileName( "target/test-classes/remote/SuiteBrut.html" ); assertFalse( tPage.isFitnessePageResult() ); } public void testGetFitnessePageName() throws MavenReportException { FitnessePage tPage = new FitnessePage(); tPage.setFileName( "target/test-classes/reportDir/WithClover/clover/fitnesse/fitnesseResult_localhost_SuiteCoverage3.html" ); assertEquals( "localhost_SuiteCoverage3", tPage.getFitnessePageName() ); tPage.setFileName( "target/test-classes/onlyOneReport/fitnesse/fitnesseResult_localhost_SuiteCoverage3.html" ); assertEquals( "localhost_SuiteCoverage3", tPage.getFitnessePageName() ); } public void testGetName() { FitnessePage tPage = new FitnessePage(); tPage.setFileName( "target/test-classes/reportDir/WithClover/clover/fitnesse/fitnesseResult_localhost_SuiteCoverage3.html" ); assertEquals( "fitnesseResult_localhost_SuiteCoverage3.html", tPage.getName() ); } public void testGetStatusOk() throws MojoExecutionException { FitnessePage tPage = new FitnessePage(); tPage.setFileName( "target/test-classes/remoteFailure/SuiteInfraOk.html" ); assertEquals( FitnessePage.STATUS_OK, tPage.getStatus() ); tPage.setFileName( "target/test-classes/remoteFailure/SuiteOk.html" ); assertEquals( FitnessePage.STATUS_OK, tPage.getStatus() ); tPage.setFileName( "target/test-classes/remoteFailure/SuiteInfraOk.html" ); assertEquals( FitnessePage.STATUS_OK, tPage.getStatus() ); } public void testGetStatusFail() throws MojoExecutionException { FitnessePage tPage = new FitnessePage(); tPage.setFileName( "target/test-classes/remoteFailure/SuiteFail.html" ); assertEquals( FitnessePage.STATUS_FAIL, tPage.getStatus() ); tPage.setFileName( "target/test-classes/remoteFailure/SuiteInfraFail.html" ); assertEquals( FitnessePage.STATUS_FAIL, tPage.getStatus() ); tPage.setFileName( "target/test-classes/remoteFailure/TestFail.html" ); assertEquals( FitnessePage.STATUS_FAIL, tPage.getStatus() ); } public void testGetStatusError() throws MojoExecutionException { FitnessePage tPage = new FitnessePage(); tPage.setFileName( "target/test-classes/remoteFailure/SuiteException.html" ); assertEquals( FitnessePage.STATUS_ERROR, tPage.getStatus() ); tPage.setFileName( "target/test-classes/remoteFailure/TestException.htm" ); assertEquals( FitnessePage.STATUS_ERROR, tPage.getStatus() ); } public void testGetStatusWithInvalidPage() { FitnessePage tPage = new FitnessePage(); try { tPage.setFileName( "target/test-classes/remote/fitnesse_base.css" ); tPage.getStatus(); fail( "Should not pass" ); } catch ( MojoExecutionException e ) { assertTrue( e.getMessage().startsWith( "This file isn't a FitNesse result page [" ) ); ; } try { tPage.setFileName( "target/test-classes/remote/kfklsqjdlqkjfq.SQ" ); tPage.getStatus(); fail( "Should not pass" ); } catch ( MojoExecutionException e ) { assertTrue( e.getMessage().startsWith( "This file isn't a FitNesse result page [" ) ); assertTrue( e.getMessage().endsWith( "kfklsqjdlqkjfq.SQ]" ) ); } } }