1 package org.apache.maven.it;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.it.Verifier;
23 import org.apache.maven.it.util.ResourceExtractor;
24
25 import java.io.File;
26
27
28
29
30
31
32 public class MavenITmng4840MavenPrerequisiteTest
33 extends AbstractMavenIntegrationTestCase
34 {
35
36 public MavenITmng4840MavenPrerequisiteTest()
37 {
38 super( "[2.1.0,3.0-alpha-1),[3.0.2,)" );
39 }
40
41
42
43
44 public void testitMojoExecution()
45 throws Exception
46 {
47 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4840" );
48
49 Verifier verifier = newVerifier( new File( testDir, "test-1" ).getAbsolutePath() );
50 verifier.setAutoclean( false );
51 verifier.deleteDirectory( "target" );
52 verifier.deleteArtifacts( "org.apache.maven.its.mng4840" );
53 verifier.getCliOptions().add( "-s" );
54 verifier.getCliOptions().add( "settings.xml" );
55 verifier.filterFile( "../settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
56 try
57 {
58 verifier.executeGoal( "validate" );
59 verifier.verifyErrorFreeLog();
60 fail( "Build did not fail despite unsatisfied prerequisite of plugin on Maven version." );
61 }
62 catch ( Exception e )
63 {
64
65 }
66 finally
67 {
68 verifier.resetStreams();
69 }
70 }
71
72
73
74
75
76 public void testitPluginVersionResolution()
77 throws Exception
78 {
79 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4840" );
80
81 Verifier verifier = newVerifier( new File( testDir, "test-2" ).getAbsolutePath() );
82 verifier.setAutoclean( false );
83 verifier.deleteDirectory( "target" );
84 verifier.deleteArtifacts( "org.apache.maven.its.mng4840" );
85 verifier.getCliOptions().add( "-s" );
86 verifier.getCliOptions().add( "settings.xml" );
87 verifier.filterFile( "../settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
88 verifier.executeGoal( "org.apache.maven.its.mng4840:maven-mng4840-plugin:touch" );
89 verifier.verifyErrorFreeLog();
90 verifier.resetStreams();
91
92 verifier.assertFilePresent( "target/touch-1.txt" );
93 verifier.assertFileNotPresent( "target/touch-2.txt" );
94 }
95
96 }