aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java
diff options
context:
space:
mode:
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.java206
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;
- }
-}