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 java.io.File;
23 import java.text.SimpleDateFormat;
24 import java.util.Date;
25 import java.util.List;
26
27 import org.apache.maven.it.util.ResourceExtractor;
28
29
30
31
32
33
34
35 public class MavenITmng1830ShowVersionTest
36 extends AbstractMavenIntegrationTestCase
37 {
38
39 public MavenITmng1830ShowVersionTest()
40 {
41 super( "(2.0.10,2.1.0-M1),(2.1.0-M1,3.0-alpha-1),[3.0-alpha-3,3.2)" );
42 }
43
44
45
46
47
48
49 public void testVersion()
50 throws Exception
51 {
52 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-1830" );
53
54 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
55 verifier.setAutoclean( false );
56 verifier.addCliOption( "-X" );
57 verifier.executeGoal( "validate" );
58 verifier.verifyErrorFreeLog();
59 verifier.resetStreams();
60
61 boolean apacheVersionInTheRightFormatWasFound = false;
62 List<String> lines = verifier.loadFile( verifier.getBasedir(), verifier.getLogFileName(), false );
63 for( String line : lines )
64 {
65 if ( line.matches( "^Apache Maven (.*?) \\(r[0-9]+; .*\\)$" )
66 || line.matches( "^Apache Maven (.*?) \\(rNON-CANONICAL_[-_0-9]+.+?; .*\\)$" )
67 || line.matches( "^Apache Maven (.*?) \\([0-9a-z]{5,41}; .*\\)$" ) )
68 {
69 apacheVersionInTheRightFormatWasFound = true;
70
71 String timestamp = line.substring( line.lastIndexOf( ';' ) + 1, line.length() - 1 ).trim();
72 SimpleDateFormat fmt = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ssZ" );
73 Date date = fmt.parse( timestamp );
74 assertEquals( timestamp, fmt.format( date ) );
75 break;
76 }
77 }
78
79 assertTrue( apacheVersionInTheRightFormatWasFound );
80 }
81 }