1 package org.apache.maven.scm.tck.command.changelog;
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.scm.ChangeSet;
23 import org.apache.maven.scm.ScmBranch;
24 import org.apache.maven.scm.ScmFileSet;
25 import org.apache.maven.scm.ScmTckTestCase;
26 import org.apache.maven.scm.ScmTestCase;
27 import org.apache.maven.scm.ScmVersion;
28 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
29 import org.apache.maven.scm.command.checkin.CheckInScmResult;
30 import org.apache.maven.scm.provider.ScmProvider;
31
32 import java.util.Date;
33
34
35
36
37
38
39
40
41
42
43
44 public abstract class ChangeLogCommandTckTest
45 extends ScmTckTestCase
46 {
47 private static final String COMMIT_MSG = "Second changelog";
48
49 public void testChangeLogCommand()
50 throws Exception
51 {
52 Thread.sleep( 1000 );
53 ScmProvider provider = getScmManager().getProviderByRepository( getScmRepository() );
54 ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() );
55
56
57 ChangeLogScmResult result =
58 provider.changeLog( getScmRepository(), fileSet, null, null, 0, (ScmBranch) null, null );
59 assertTrue( result.getProviderMessage() + ": " + result.getCommandLine() + "\n" + result.getCommandOutput(),
60 result.isSuccess() );
61 assertEquals( 1, result.getChangeLog().getChangeSets().size() );
62
63
64 Date timeBeforeSecond = new Date();
65
66
67 Thread.sleep( 2000 );
68
69
70 ScmTestCase.makeFile( getWorkingCopy(), "/readme.txt", "changed readme.txt" );
71 CheckInScmResult checkInResult = provider.checkIn( getScmRepository(), fileSet, COMMIT_MSG );
72 assertTrue( "Unable to checkin changes to the repository", checkInResult.isSuccess() );
73
74 result = provider.changeLog( getScmRepository(), fileSet, (ScmVersion) null, null );
75 assertTrue( result.getProviderMessage(), result.isSuccess() );
76 assertEquals( 2, result.getChangeLog().getChangeSets().size() );
77
78
79 Date currentTime = new Date();
80 result = provider
81 .changeLog( getScmRepository(), fileSet, timeBeforeSecond, currentTime, 0, new ScmBranch( "" ) );
82
83
84 assertTrue( result.getProviderMessage(), result.isSuccess() );
85 assertEquals( 1, result.getChangeLog().getChangeSets().size() );
86 ChangeSet changeset = result.getChangeLog().getChangeSets().get( 0 );
87 assertTrue( changeset.getDate().after( timeBeforeSecond ) );
88 assertEquals( COMMIT_MSG, changeset.getComment() );
89 }
90 }