1 package org.apache.maven.scm.provider.starteam.command.edit;
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.ScmFileSet;
23 import org.apache.maven.scm.ScmTestCase;
24 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
25 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
26 import org.apache.maven.scm.repository.ScmRepository;
27 import org.codehaus.plexus.util.cli.Commandline;
28
29 import java.io.File;
30
31
32
33
34 public class StarteamEditCommandTest
35 extends ScmTestCase
36 {
37
38 public void testGetCommandLineWithFileOnRoot()
39 throws Exception
40 {
41
42 ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( "test.txt" ) );
43
44 String workingCopy = StarteamCommandLineUtils.toJavaPath( getWorkingCopy().getPath() );
45
46 String starteamUrl = "user:password@host:1234/project/view";
47 String mavenUrl = "scm:starteam:" + starteamUrl;
48
49 String expectedCmd =
50 "stcmd lck -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy + " -l test.txt";
51
52 testCommandLine( mavenUrl, fileSet, expectedCmd );
53 }
54
55
56 public void testGetCommandLineWithFileInSubDir()
57 throws Exception
58 {
59
60 ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( "src/test.txt" ) );
61
62 String workingCopy = StarteamCommandLineUtils.toJavaPath( getWorkingCopy().getPath() );
63
64 String starteamUrl = "user:password@host:1234/project/view";
65 String mavenUrl = "scm:starteam:" + starteamUrl;
66
67 String expectedCmd = "stcmd lck -x -nologo -stop" + " -p " + starteamUrl + "/src" + " -fp " + workingCopy +
68 "/src" + " -l test.txt";
69
70 testCommandLine( mavenUrl, fileSet, expectedCmd );
71 }
72
73
74
75
76
77 private void testCommandLine( String scmUrl, ScmFileSet fileSet, String commandLine )
78 throws Exception
79 {
80 ScmRepository repo = getScmManager().makeScmRepository( scmUrl );
81
82 StarteamScmProviderRepository repository = (StarteamScmProviderRepository) repo.getProviderRepository();
83
84 Commandline cl = StarteamEditCommand.createCommandLine( repository, fileSet );
85
86 assertCommandLine( commandLine, null, cl );
87 }
88 }