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