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