You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/09/22 11:52:42 UTC

svn commit: r1174025 - in /maven/wagon/trunk/wagon-providers: wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/ wagon-ssh-external/ wagon-ssh-external/src/test/resources/ wagon-ssh/src/test/java/org/apache/maven/wagon/providers/...

Author: olamy
Date: Thu Sep 22 09:52:41 2011
New Revision: 1174025

URL: http://svn.apache.org/viewvc?rev=1174025&view=rev
Log:
[WAGON-350] add unit test for wagon ssh with an embedded ssh server : refactor to be able to share test with scp external module

Added:
    maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractEmbeddedScpWagonWithKeyTest.java
      - copied, changed from r1174024, maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java
    maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/resources/
    maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/resources/log4j.xml
Modified:
    maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/SshServerEmbedded.java
    maven/wagon/trunk/wagon-providers/wagon-ssh-external/pom.xml
    maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java

Copied: maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractEmbeddedScpWagonWithKeyTest.java (from r1174024, maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java)
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractEmbeddedScpWagonWithKeyTest.java?p2=maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractEmbeddedScpWagonWithKeyTest.java&p1=maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java&r1=1174024&r2=1174025&rev=1174025&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractEmbeddedScpWagonWithKeyTest.java Thu Sep 22 09:52:41 2011
@@ -1,4 +1,4 @@
-package org.apache.maven.wagon.providers.ssh.jsch;
+package org.apache.maven.wagon.providers.ssh;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -20,58 +20,23 @@ package org.apache.maven.wagon.providers
  */
 
 import org.apache.maven.wagon.StreamingWagonTestCase;
-import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.authentication.AuthenticationInfo;
-import org.apache.maven.wagon.providers.ssh.SshServerEmbedded;
-import org.apache.maven.wagon.providers.ssh.TestData;
-import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider;
 import org.apache.maven.wagon.repository.Repository;
 import org.apache.maven.wagon.resource.Resource;
 
 import java.io.File;
-import java.io.IOException;
 import java.util.Arrays;
 
 /**
  * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
  * @version $Id$
  */
-public class EmbeddedScpWagonWithKeyTest
+public abstract class AbstractEmbeddedScpWagonWithKeyTest
     extends StreamingWagonTestCase
 {
 
     SshServerEmbedded sshServerEmbedded;
 
-    @Override
-    protected Wagon getWagon()
-        throws Exception
-    {
-        ScpWagon scpWagon = (ScpWagon) super.getWagon();
-        scpWagon.setInteractive( false );
-        scpWagon.setKnownHostsProvider( new KnownHostsProvider()
-        {
-            public void storeKnownHosts( String contents )
-                throws IOException
-            {
-
-            }
-
-            public void setHostKeyChecking( String hostKeyChecking )
-            {
-            }
-
-            public String getHostKeyChecking()
-            {
-                return "no";
-            }
-
-            public String getContents()
-            {
-                return null;
-            }
-        } );
-        return scpWagon;
-    }
 
     @Override
     protected void setUp()
@@ -95,10 +60,7 @@ public class EmbeddedScpWagonWithKeyTest
         sshServerEmbedded.stop( true );
     }
 
-    protected String getProtocol()
-    {
-        return "scp";
-    }
+    protected abstract String getProtocol();
 
     @Override
     protected int getTestRepositoryPort()
@@ -142,5 +104,5 @@ public class EmbeddedScpWagonWithKeyTest
         return false;
     }
 
-    // user : guest/guest123 -  passphrase : toto01
+
 }

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/SshServerEmbedded.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/SshServerEmbedded.java?rev=1174025&r1=1174024&r2=1174025&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/SshServerEmbedded.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/SshServerEmbedded.java Thu Sep 22 09:52:41 2011
@@ -107,7 +107,7 @@ public class SshServerEmbedded
 
         PEMGeneratorHostKeyProvider provider = new PEMGeneratorHostKeyProvider();
         provider.setAlgorithm( "RSA" );
-        provider.setKeySize( 512 );
+        provider.setKeySize( 1024 );
         provider.setPath( path.getPath() );
 
         sshd.setKeyPairProvider( provider );

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-external/pom.xml
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-external/pom.xml?rev=1174025&r1=1174024&r2=1174025&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-external/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-external/pom.xml Thu Sep 22 09:52:41 2011
@@ -52,6 +52,21 @@ under the License.
       <artifactId>sshd-core</artifactId>
       <scope>test</scope>
     </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.6.1</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>bouncycastle</groupId>
+      <artifactId>bcprov-jdk15</artifactId>
+      <version>140</version>
+      <scope>test</scope>
+    </dependency>
+
   </dependencies>
 
   <profiles>
@@ -77,5 +92,27 @@ under the License.
         </plugins>
       </build>
     </profile>
+    <profile>
+      <id>ssh-tests</id>
+      <activation>
+        <file>
+          <exists>/usr/bin/scp</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <!-- Tests that require an ssh server on localhost -->
+              <excludes>
+                <exclude>**/SshCommandExecutorTest.*</exclude>
+                <exclude>**/Scp*Test.*</exclude>
+              </excludes>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
   </profiles>
 </project>

Added: maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/resources/log4j.xml
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/resources/log4j.xml?rev=1174025&view=auto
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/resources/log4j.xml (added)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/resources/log4j.xml Thu Sep 22 09:52:41 2011
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+  <appender name="console" class="org.apache.log4j.ConsoleAppender">
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
+    </layout>
+  </appender>
+  <logger name="org.apache.sshd.server">
+    <level value="INFO"/>
+  </logger>
+
+
+
+  <root>
+    <priority value ="info" />
+    <appender-ref ref="console" />
+  </root>
+
+</log4j:configuration>

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java?rev=1174025&r1=1174024&r2=1174025&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java Thu Sep 22 09:52:41 2011
@@ -19,28 +19,22 @@ package org.apache.maven.wagon.providers
  * under the License.
  */
 
-import org.apache.maven.wagon.StreamingWagonTestCase;
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.authentication.AuthenticationInfo;
-import org.apache.maven.wagon.providers.ssh.SshServerEmbedded;
-import org.apache.maven.wagon.providers.ssh.TestData;
+import org.apache.maven.wagon.providers.ssh.AbstractEmbeddedScpWagonWithKeyTest;
 import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider;
-import org.apache.maven.wagon.repository.Repository;
-import org.apache.maven.wagon.resource.Resource;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.Arrays;
 
 /**
  * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
  * @version $Id$
  */
 public class EmbeddedScpWagonWithKeyTest
-    extends StreamingWagonTestCase
+    extends AbstractEmbeddedScpWagonWithKeyTest
 {
 
-    SshServerEmbedded sshServerEmbedded;
 
     @Override
     protected Wagon getWagon()
@@ -73,44 +67,12 @@ public class EmbeddedScpWagonWithKeyTest
         return scpWagon;
     }
 
-    @Override
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        String sshKeyResource = "ssh-keys/id_rsa.pub";
-
-        sshServerEmbedded = new SshServerEmbedded( getProtocol(), Arrays.asList( sshKeyResource ), true );
-
-        sshServerEmbedded.start();
-        System.out.println( "sshd on port " + sshServerEmbedded.getPort() );
-    }
-
-    @Override
-    protected void tearDownWagonTestingFixtures()
-        throws Exception
-    {
-
-        sshServerEmbedded.stop( true );
-    }
 
     protected String getProtocol()
     {
         return "scp";
     }
 
-    @Override
-    protected int getTestRepositoryPort()
-    {
-        return sshServerEmbedded.getPort();
-    }
-
-
-    public String getTestRepositoryUrl()
-    {
-        return TestData.getTestRepositoryUrl( sshServerEmbedded.getPort() );
-    }
 
     protected AuthenticationInfo getAuthInfo()
     {
@@ -123,24 +85,5 @@ public class EmbeddedScpWagonWithKeyTest
         return authInfo;
     }
 
-    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
-    {
-        return new File( repository.getBasedir(), resource.getName() ).lastModified();
-    }
-
-    public void testConnect()
-        throws Exception
-    {
-        getWagon().connect( new Repository( "foo", getTestRepositoryUrl() ), getAuthInfo() );
-        assertTrue( true );
-    }
-
-
-    @Override
-    protected boolean supportsGetIfNewer()
-    {
-        return false;
-    }
 
-    // user : guest/guest123 -  passphrase : toto01
 }