1 package org.apache.maven.scm.provider.svn.svnexe;
2
3 import static org.junit.Assert.assertFalse;
4 import static org.mockito.Mockito.mock;
5 import static org.mockito.Mockito.verify;
6 import static org.mockito.Mockito.when;
7
8 import java.io.File;
9
10 import org.apache.maven.scm.ScmException;
11 import org.apache.maven.scm.log.ScmLogger;
12 import org.codehaus.plexus.util.Os;
13 import org.junit.Assume;
14 import org.junit.Before;
15 import org.junit.Test;
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 public class SvnExeScmProviderTest
37 {
38 private SvnExeScmProvider scmProvider;
39
40 @Before
41 public void onSetup()
42 {
43 scmProvider = new SvnExeScmProvider();
44 }
45
46
47 @Test
48 public void testGetRepositoryURL_Windows()
49 throws Exception
50 {
51 Assume.assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) );
52
53
54 ScmLogger logger = mock( ScmLogger.class );
55 when( logger.isInfoEnabled() ).thenReturn( Boolean.TRUE );
56 scmProvider.addListener( logger );
57 File workingDirectory = new File( "." );
58
59
60
61 String url;
62 try
63 {
64 url = scmProvider.getRepositoryURL( workingDirectory );
65
66
67 assertFalse( url.startsWith( "file://" ) );
68 }
69 catch ( ScmException e )
70 {
71 }
72
73
74 verify( logger ).info( "Executing: cmd.exe /X /C \"svn --non-interactive info .\"" );
75 verify( logger ).info( "Working directory: " + workingDirectory.getCanonicalPath() );
76 }
77 }
78