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.Properties;
26
27
28
29
30
31
32
33 public class MavenITmng3846PomInheritanceUrlAdjustmentTest
34 extends AbstractMavenIntegrationTestCase
35 {
36
37 public MavenITmng3846PomInheritanceUrlAdjustmentTest()
38 {
39 super( ALL_MAVEN_VERSIONS );
40 }
41
42
43
44
45
46
47 public void testitOneParent()
48 throws Exception
49 {
50 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3846" );
51
52 Verifier verifier = newVerifier( new File( testDir, "sub" ).getAbsolutePath() );
53 verifier.setAutoclean( false );
54 verifier.deleteDirectory( "target" );
55 verifier.executeGoal( "validate" );
56 verifier.verifyErrorFreeLog();
57 verifier.resetStreams();
58
59 Properties props = verifier.loadProperties( "target/pom.properties" );
60 assertEquals( "http://parent.url/child", props.getProperty( "project.url" ) );
61 assertEquals( "http://parent.url/org/", props.getProperty( "project.organization.url" ) );
62 assertEquals( "http://parent.url/license.txt", props.getProperty( "project.licenses.0.url" ) );
63 assertEquals( "http://parent.url/viewvc/child", props.getProperty( "project.scm.url" ) );
64 assertEquals( "http://parent.url/scm/child", props.getProperty( "project.scm.connection" ) );
65 assertEquals( "https://parent.url/scm/child", props.getProperty( "project.scm.developerConnection" ) );
66 assertEquals( "http://parent.url/issues", props.getProperty( "project.issueManagement.url" ) );
67 assertEquals( "http://parent.url/ci", props.getProperty( "project.ciManagement.url" ) );
68 assertEquals( "http://parent.url/dist", props.getProperty( "project.distributionManagement.repository.url" ) );
69 assertEquals( "http://parent.url/snaps", props.getProperty( "project.distributionManagement.snapshotRepository.url" ) );
70 assertEquals( "http://parent.url/site/child", props.getProperty( "project.distributionManagement.site.url" ) );
71 assertEquals( "http://parent.url/download", props.getProperty( "project.distributionManagement.downloadUrl" ) );
72 }
73
74
75
76
77
78
79
80 public void testitTwoParents()
81 throws Exception
82 {
83 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3846" );
84
85 Verifier verifier = newVerifier( new File( testDir, "another-parent/sub" ).getAbsolutePath() );
86 verifier.setAutoclean( false );
87 verifier.deleteDirectory( "target" );
88 verifier.executeGoal( "validate" );
89 verifier.verifyErrorFreeLog();
90 verifier.resetStreams();
91
92 Properties props = verifier.loadProperties( "target/pom.properties" );
93 assertEquals( "http://parent.url/ap/child", props.getProperty( "project.url" ) );
94 assertEquals( "http://parent.url/org/", props.getProperty( "project.organization.url" ) );
95 assertEquals( "http://parent.url/license.txt", props.getProperty( "project.licenses.0.url" ) );
96 assertEquals( "http://parent.url/viewvc/ap/child", props.getProperty( "project.scm.url" ) );
97 assertEquals( "http://parent.url/scm/ap/child", props.getProperty( "project.scm.connection" ) );
98 assertEquals( "https://parent.url/scm/ap/child", props.getProperty( "project.scm.developerConnection" ) );
99 assertEquals( "http://parent.url/issues", props.getProperty( "project.issueManagement.url" ) );
100 assertEquals( "http://parent.url/ci", props.getProperty( "project.ciManagement.url" ) );
101 assertEquals( "http://parent.url/dist", props.getProperty( "project.distributionManagement.repository.url" ) );
102 assertEquals( "http://parent.url/snaps", props.getProperty( "project.distributionManagement.snapshotRepository.url" ) );
103 assertEquals( "http://parent.url/site/ap/child", props.getProperty( "project.distributionManagement.site.url" ) );
104 assertEquals( "http://parent.url/download", props.getProperty( "project.distributionManagement.downloadUrl" ) );
105 }
106
107 }