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 public class MavenITmng4231SnapshotUpdatePolicyTest
34 extends AbstractMavenIntegrationTestCase
35 {
36
37 public MavenITmng4231SnapshotUpdatePolicyTest()
38 {
39 super( ALL_MAVEN_VERSIONS );
40 }
41
42
43
44
45 public void testitAlways()
46 throws Exception
47 {
48 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4231" );
49
50 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
51 verifier.setAutoclean( false );
52 verifier.deleteArtifacts( "org.apache.maven.its.mng4231" );
53 verifier.getCliOptions().add( "-s" );
54 verifier.getCliOptions().add( "settings.xml" );
55
56 Properties filterProps = verifier.newDefaultFilterProperties();
57 filterProps.setProperty( "@updates@", "always" );
58
59 filterProps.setProperty( "@repo@", "repo-1" );
60 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
61 verifier.setLogFileName( "log-always-1.txt" );
62 verifier.executeGoal( "validate" );
63 verifier.verifyErrorFreeLog();
64
65 filterProps.setProperty( "@repo@", "repo-2" );
66 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
67 verifier.setLogFileName( "log-always-2.txt" );
68 verifier.deleteDirectory( "target" );
69 verifier.executeGoal( "validate" );
70 verifier.verifyErrorFreeLog();
71
72 verifier.resetStreams();
73
74 Properties checksums = verifier.loadProperties( "target/checksum.properties" );
75 assertChecksum( "db3f17644e813af768ae6e82a6d0a2f29aef8988", "a-0.1-SNAPSHOT.jar", checksums );
76 assertChecksum( "5e3265f3ed55e8b217ff9db444fd8d888962a990", "b-0.1-SNAPSHOT.jar", checksums );
77 }
78
79
80
81
82 public void testitNever()
83 throws Exception
84 {
85 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4231" );
86
87 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
88 verifier.setAutoclean( false );
89 verifier.deleteArtifacts( "org.apache.maven.its.mng4231" );
90 verifier.getCliOptions().add( "-s" );
91 verifier.getCliOptions().add( "settings.xml" );
92
93 Properties filterProps = verifier.newDefaultFilterProperties();
94 filterProps.setProperty( "@updates@", "never" );
95
96 filterProps.setProperty( "@repo@", "repo-1" );
97 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
98 verifier.setLogFileName( "log-never-1.txt" );
99 verifier.executeGoal( "validate" );
100 verifier.verifyErrorFreeLog();
101
102 filterProps.setProperty( "@repo@", "repo-2" );
103 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
104 verifier.setLogFileName( "log-never-2.txt" );
105 verifier.deleteDirectory( "target" );
106 verifier.executeGoal( "validate" );
107 verifier.verifyErrorFreeLog();
108
109 verifier.resetStreams();
110
111 Properties checksums = verifier.loadProperties( "target/checksum.properties" );
112 assertChecksum( "ec6c9ea65766cc272df0ee26076240d6a93047d5", "a-0.1-SNAPSHOT.jar", checksums );
113 assertChecksum( "", "b-0.1-SNAPSHOT.jar", checksums );
114 }
115
116 private void assertChecksum( String checksum, String jar, Properties checksums )
117 {
118 assertEquals( checksum, checksums.getProperty( jar, "" ).toLowerCase( java.util.Locale.ENGLISH ) );
119 }
120
121 }