package com.simpligility.maven.plugins.android.standalonemojos; import com.simpligility.maven.plugins.android.*; import io.takari.maven.testing.TestResources; import io.takari.maven.testing.executor.MavenExecutionResult; import io.takari.maven.testing.executor.MavenRuntime; import io.takari.maven.testing.executor.MavenVersions; import io.takari.maven.testing.executor.junit.MavenJUnitTestRunner; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.io.File; /** * Test the lint mojo. Tests options' default values and parsing. Tests the parameters passed to lint. * * @author Stéphane Nicolas - snicolas@octo.com * @author Benoit Billington * */ @RunWith( MavenJUnitTestRunner.class ) @MavenVersions( {"3.0.5", "3.2.5" } ) public class LintMojoIntegrationTest { @Rule public final TestResources resources = new TestResources(); public final MavenRuntime verifier; public LintMojoIntegrationTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { this.verifier = builder.withCliOptions( "-X" ).build(); } /** * Test project with skip lint flag to true * * @throws Exception */ @Test public void testSkipConfig() throws Exception { File basedir = resources.getBasedir( "lint-config-project0" ); MavenExecutionResult result = verifier .forProject(basedir) .execute( PluginInfo.getQualifiedGoal( "lint" ) ); result.assertErrorFreeLog(); result.assertLogText( "Skipping lint analysis" ); } /** * Tests execution of Lint * * @throws Exception */ @Test public void testDefaultUnskippedLintConfig() throws Exception { File basedir = resources.getBasedir( "lint-config-project1" ); MavenExecutionResult result = verifier .forProject(basedir) .execute( PluginInfo.getQualifiedGoal( "lint" ) ); result.assertErrorFreeLog(); result.assertLogText( "Lint analysis completed successfully" ); } }