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.util.ResourceExtractor;
23
24 import java.io.File;
25 import java.util.List;
26
27
28
29
30
31
32 public class MavenITmng4005UniqueDependencyKeyTest
33 extends AbstractMavenIntegrationTestCase
34 {
35
36 public MavenITmng4005UniqueDependencyKeyTest()
37 {
38 super( "[3.0-beta-1,)" );
39 }
40
41
42
43
44
45
46 public void testitDependency()
47 throws Exception
48 {
49 test( "dep" );
50 }
51
52
53
54
55
56
57 public void testitManagedDependency()
58 throws Exception
59 {
60 test( "man-dep" );
61 }
62
63
64
65
66
67
68 public void testitProfileDependency()
69 throws Exception
70 {
71 test( "profile-dep" );
72 }
73
74
75
76
77
78
79 public void testitProfileManagedDependency()
80 throws Exception
81 {
82 test( "profile-man-dep" );
83 }
84
85 private void test( String project )
86 throws Exception
87 {
88 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4005/" + project );
89
90 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
91 verifier.setAutoclean( false );
92 verifier.deleteDirectory( "target" );
93 try {
94 verifier.executeGoal( "validate" );
95 }
96 catch ( VerificationException e )
97 {
98
99 }
100 verifier.resetStreams();
101
102 String logLevel;
103 if ( matchesVersionRange( "(,4.0.0-alpha-1)" ) )
104 {
105 logLevel = "WARNING";
106 }
107 else
108 {
109 logLevel = "ERROR";
110 }
111
112 List<String> lines = verifier.loadLines( verifier.getLogFileName(), "UTF-8" );
113 boolean foundMessage = false;
114 for ( String line : lines )
115 {
116 if ( line.startsWith( "[" + logLevel + "]" ) && line.indexOf( "must be unique: junit:junit:jar" ) > 0 )
117 {
118 foundMessage = true;
119 }
120 }
121
122 assertTrue( "Duplicate dependency message wasn't generated.", foundMessage );
123 }
124
125 }