1 package org.apache.maven.scm.provider.starteam.command.remove;
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 StarteamRemoveCommandTest
35 extends ScmTestCase
36 {
37
38 public void testGetCommandLineWithFileOnRoot()
39 throws Exception
40 {
41 ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( "testfile.txt" ) );
42
43 String testFileDirAbsolutePath = StarteamCommandLineUtils.toJavaPath( getWorkingCopy().getPath() );
44
45 String starteamUrl = "user:password@host:1234/project/view";
46 String mavenUrl = "scm:starteam:" + starteamUrl;
47
48 String expectedCmd = "stcmd remove -x -nologo -stop" + " -p " + starteamUrl + " -fp " +
49 testFileDirAbsolutePath + " testfile.txt";
50
51 testCommandLine( mavenUrl, fileSet, "", expectedCmd );
52 }
53
54 public void testGetCommandLineWithFileInSubDir()
55 throws Exception
56 {
57
58 ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( "dir/testfile.txt" ) );
59
60 String starteamUrl = "user:password@host:1234/project/view";
61 String mavenUrl = "scm:starteam:" + starteamUrl;
62
63 String localDirectory = StarteamCommandLineUtils.toJavaPath( getWorkingDirectory().getPath() + "/dir" );
64 String expectedCmd = "stcmd remove -x -nologo -stop" + " -p " + starteamUrl + "/dir" + " -fp " +
65 localDirectory + " testfile.txt";
66
67 testCommandLine( mavenUrl, fileSet, null, expectedCmd );
68
69 }
70
71
72
73
74
75 private void testCommandLine( String scmUrl, ScmFileSet fileSet, String crPath, String commandLine )
76 throws Exception
77 {
78 ScmRepository repo = getScmManager().makeScmRepository( scmUrl );
79
80 StarteamScmProviderRepository repository = (StarteamScmProviderRepository) repo.getProviderRepository();
81
82 Commandline cl = StarteamRemoveCommand.createCommandLine( repository, fileSet );
83
84 assertCommandLine( commandLine, null, cl );
85 }
86 }