1 package org.apache.maven.wagon.providers.ssh.external;
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.wagon.WagonConstants;
23 import org.apache.maven.wagon.WagonTestCase;
24 import org.apache.maven.wagon.authentication.AuthenticationInfo;
25 import org.apache.maven.wagon.providers.ssh.TestData;
26 import org.apache.maven.wagon.repository.Repository;
27 import org.apache.maven.wagon.resource.Resource;
28
29 import java.io.File;
30
31
32
33
34
35 public class ScpExternalWagonTest
36 extends WagonTestCase
37 {
38 protected int getExpectedContentLengthOnGet( int expectedSize )
39 {
40 return WagonConstants.UNKNOWN_LENGTH;
41 }
42
43 protected boolean supportsGetIfNewer()
44 {
45 return false;
46 }
47
48 protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
49 {
50 return 0;
51 }
52
53 protected String getProtocol()
54 {
55 return "scpexe";
56 }
57
58 @Override
59 protected int getTestRepositoryPort()
60 {
61 return 0;
62 }
63
64
65 public String getTestRepositoryUrl()
66 {
67 return TestData.getTestRepositoryUrl( getTestRepositoryPort() );
68 }
69
70 protected AuthenticationInfo getAuthInfo()
71 {
72 AuthenticationInfo authInfo = new AuthenticationInfo();
73
74 String userName = TestData.getUserName();
75
76 authInfo.setUserName( userName );
77
78 File privateKey = TestData.getPrivateKey();
79
80 if ( privateKey.exists() )
81 {
82 authInfo.setPrivateKey( privateKey.getAbsolutePath() );
83
84 authInfo.setPassphrase( "" );
85 }
86
87 return authInfo;
88 }
89
90 public void testIsPuTTY()
91 throws Exception
92 {
93 ScpExternalWagon wagon = (ScpExternalWagon) getWagon();
94
95 wagon.setSshExecutable( "c:\\program files\\PuTTY\\plink.exe" );
96 assertTrue( wagon.isPuTTY() );
97 wagon.setSshExecutable( "plink" );
98 assertTrue( wagon.isPuTTY() );
99 wagon.setSshExecutable( "PLINK" );
100 assertTrue( wagon.isPuTTY() );
101 wagon.setSshExecutable( "PlInK" );
102 assertTrue( wagon.isPuTTY() );
103 wagon.setSshExecutable( "ssh" );
104 assertFalse( wagon.isPuTTY() );
105
106 wagon.setScpExecutable( "c:\\program files\\PuTTY\\pscp.exe" );
107 assertTrue( wagon.isPuTTYSCP() );
108 wagon.setScpExecutable( "pscp" );
109 assertTrue( wagon.isPuTTYSCP() );
110 wagon.setScpExecutable( "PSCP" );
111 assertTrue( wagon.isPuTTYSCP() );
112 wagon.setScpExecutable( "PsCp" );
113 assertTrue( wagon.isPuTTYSCP() );
114 wagon.setScpExecutable( "scp" );
115 assertFalse( wagon.isPuTTYSCP() );
116 }
117 }