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.ArrayList;
27 import java.util.Arrays;
28 import java.util.Collections;
29 import java.util.List;
30 import java.util.Properties;
31
32
33
34
35
36
37
38 public class MavenITmng3732ActiveProfilesTest
39 extends AbstractMavenIntegrationTestCase
40 {
41
42 public MavenITmng3732ActiveProfilesTest()
43 {
44 super( "[2.0,)" );
45 }
46
47
48
49
50 public void testitMNG3732()
51 throws Exception
52 {
53 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3732" );
54
55 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
56 verifier.setAutoclean( false );
57 verifier.deleteDirectory( "target" );
58 verifier.getCliOptions().add( "--settings" );
59 verifier.getCliOptions().add( "settings.xml" );
60 verifier.getCliOptions().add( "-Ppom,profiles,settings" );
61 verifier.executeGoal( "validate" );
62 verifier.verifyErrorFreeLog();
63 verifier.resetStreams();
64
65 Properties props = verifier.loadProperties( "target/profile.properties" );
66 List ids = new ArrayList();
67
68
69 if ( matchesVersionRange( "[2.0,3.0-alpha-1)" ) )
70 {
71 ids.add( props.getProperty( "project.activeProfiles.0.id", "" ) );
72 ids.add( props.getProperty( "project.activeProfiles.1.id", "" ) );
73 ids.add( props.getProperty( "project.activeProfiles.2.id", "" ) );
74 ids.add( props.getProperty( "project.activeProfiles.3.id", "" ) );
75 ids.remove( "it-defaults" );
76 Collections.sort( ids );
77
78 assertEquals( Arrays.asList( new String[] { "pom", "profiles", "settings" } ), ids );
79 assertEquals( "4", props.getProperty( "project.activeProfiles" ) );
80
81 assertEquals( "PASSED-1", props.getProperty( "project.properties.pomProperty" ) );
82 assertEquals( "PASSED-2", props.getProperty( "project.properties.settingsProperty" ) );
83 assertEquals( "PASSED-3", props.getProperty( "project.properties.profilesProperty" ) );
84 }
85 else
86 {
87 ids.add( props.getProperty( "project.activeProfiles.0.id", "" ) );
88 ids.add( props.getProperty( "project.activeProfiles.1.id", "" ) );
89 ids.add( props.getProperty( "project.activeProfiles.2.id", "" ) );
90 ids.remove( "it-defaults" );
91 Collections.sort( ids );
92
93 assertEquals( Arrays.asList( new String[] { "pom", "settings" } ), ids );
94 assertEquals( "3", props.getProperty( "project.activeProfiles" ) );
95
96 assertEquals( "PASSED-1", props.getProperty( "project.properties.pomProperty" ) );
97 assertEquals( "PASSED-2", props.getProperty( "project.properties.settingsProperty" ) );
98 }
99 }
100
101 }