1 package org.apache.maven.scm.provider.accurev.command.blame;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.hamcrest.Matchers.is;
23 import static org.junit.Assert.assertThat;
24 import static org.mockito.Mockito.when;
25
26 import java.io.File;
27 import java.util.Collections;
28 import java.util.Date;
29
30 import org.apache.maven.scm.CommandParameter;
31 import org.apache.maven.scm.CommandParameters;
32 import org.apache.maven.scm.ScmFileSet;
33 import org.apache.maven.scm.command.blame.BlameLine;
34 import org.apache.maven.scm.command.blame.BlameScmResult;
35 import org.apache.maven.scm.provider.accurev.command.AbstractAccuRevCommandTest;
36 import org.junit.Test;
37
38 public class AccuRevBlameCommandTest
39 extends AbstractAccuRevCommandTest
40 {
41
42 @Test
43 public void testBlame()
44 throws Exception
45 {
46
47 final File file = new File( "src/main/java/Foo.java" );
48 final ScmFileSet testFileSet = new ScmFileSet( basedir, file );
49
50 final Date date = new Date();
51 final BlameLine blameLine = new BlameLine( date, "12", "theAuthor" );
52
53 when( accurev.annotate( basedir, file ) ).thenReturn( Collections.singletonList( blameLine ) );
54
55 AccuRevBlameCommand command = new AccuRevBlameCommand( getLogger() );
56
57 CommandParameters commandParameters = new CommandParameters();
58 commandParameters.setString( CommandParameter.FILE, file.getPath() );
59 BlameScmResult result = command.blame( repo, testFileSet, commandParameters );
60
61 assertThat( result.isSuccess(), is( true ) );
62 assertThat( result.getLines().size(), is( 1 ) );
63 assertThat( ( (BlameLine) result.getLines().get( 0 ) ), is( blameLine ) );
64
65 }
66 }