diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java deleted file mode 100644 index dff5b25a..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * 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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.ssh; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.condition.FilesMatch; -import org.apache.tools.ant.types.FileSet; -import org.apache.tools.ant.types.selectors.FilenameSelector; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * This is a unit test for the Scp task in Ant. It must be - * configured with command line options in order for it to work. - * Here are the options: - * - * scp.tmp This is a local path to a temporary - * directory for this task to use. - * scp.host This is the remote location of the form: - * "user:password@host:/path/to/directory" - * scp.port The port of the listening SSH service. - * Defaults to 22. (optional) - * scp.known.hosts The file containing the public keys of known - * hosts. Must be a SSH2 version file, but - * supports RSA and DSA keys. If it is not present - * this task setTrust() to true. (optional) - */ -public class ScpTest { - - private File tempDir; - private String sshHostUri = System.getProperty("scp.host"); - private int port = Integer.parseInt( System.getProperty( "scp.port", "22" ) ); - private String knownHosts = System.getProperty("scp.known.hosts"); - - private List cleanUpList = new ArrayList(); - - public ScpTest() { - if (System.getProperty("scp.tmp") != null) { - tempDir = new File(System.getProperty("scp.tmp")); - } - } - - @Before - public void setUp() { - cleanUpList.clear(); - } - - @After - public void tearDown() { - for( Iterator i = cleanUpList.iterator(); i.hasNext(); ) { - File file = (File) i.next(); - file.delete(); - } - } - - @Test - public void testSingleFileUploadAndDownload() throws IOException { - assertNotNull("system property scp.tmp must be set", tempDir); - File uploadFile = createTemporaryFile(); - - // upload - Scp scpTask = createTask(); - scpTask.setFile( uploadFile.getPath() ); - scpTask.setTodir( sshHostUri ); - scpTask.execute(); - - File testFile = new File( tempDir.getPath() + File.separator + - "download-testSingleFileUploadAndDownload.test" ); - addCleanup(testFile ); - assertFalse("Assert that the testFile does not exist.", testFile.exists()); - - // download - scpTask = createTask(); - scpTask.setFile( sshHostUri + "/" + uploadFile.getName() ); - scpTask.setTodir( testFile.getPath() ); - scpTask.execute(); - - assertTrue( "Assert that the testFile exists.", testFile.exists() ); - compareFiles( uploadFile, testFile ); - } - - @Test - public void testMultiUploadAndDownload() throws IOException { - assertNotNull("system property scp.tmp must be set", tempDir); - List uploadList = new ArrayList(); - for( int i = 0; i < 5; i++ ) { - uploadList.add( createTemporaryFile() ); - } - - Scp scp = createTask(); - FilenameSelector selector = new FilenameSelector(); - selector.setName( "scp*" ); - FileSet fileset = new FileSet(); - fileset.setDir( tempDir ); - fileset.addFilename( selector ); - scp.addFileset( fileset ); - scp.setTodir( sshHostUri ); - scp.execute(); - - File multi = new File( tempDir, "multi" ); - multi.mkdir(); - addCleanup( multi ); - - Scp scp2 = createTask(); - scp2.setFile( sshHostUri + "/scp*" ); - scp2.setTodir( multi.getPath() ); - scp2.execute(); - - FilesMatch match = new FilesMatch(); - for( Iterator i = uploadList.iterator(); i.hasNext(); ) { - File f = (File)i.next(); - match.setFile1( f ); - File f2 = new File( multi, f.getName() ); - match.setFile2( f2 ); - assertTrue("Assert file '" + f.getPath() + "' and file '" + - f2.getPath() + "'", match.eval() ); - } - } - - @Test - public void testRemoteToDir() throws IOException { - Scp scpTask = createTask(); - - // first try an invalid URI - try { - scpTask.setRemoteTodir( "host:/a/path/without/an/at" ); - fail("Expected a BuildException to be thrown due to invalid" - + " remoteToDir"); - } - catch (BuildException e) - { - // expected - //TODO we should be asserting a value in here - } - - // And this one should work - scpTask.setRemoteTodir( "user:password@host:/a/path/with/an/at" ); - // no exception - } - - public void addCleanup( File file ) { - cleanUpList.add( file ); - } - - private void compareFiles(File src, File dest) { - FilesMatch match = new FilesMatch(); - match.setFile1( src ); - match.setFile2( dest ); - - assertTrue( "Assert files are equal.", match.eval() ); - } - - private File createTemporaryFile() throws IOException { - File uploadFile; - uploadFile = File.createTempFile( "scp", "test", tempDir ); - FileWriter writer = new FileWriter( uploadFile ); - writer.write("Can you hear me now?\n"); - writer.close(); - addCleanup( uploadFile ); - return uploadFile; - } - - private Scp createTask() { - Scp scp = new Scp(); - Project p = new Project(); - p.init(); - scp.setProject( p ); - if( knownHosts != null ) { - scp.setKnownhosts( knownHosts ); - } else { - scp.setTrust( true ); - } - scp.setPort( port ); - return scp; - } -} |