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