package org.arquillian.cube.containerobject; import com.jcabi.ssh.SSH; import com.jcabi.ssh.Shell; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.SftpException; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.arquillian.cube.docker.impl.requirement.RequiresDockerMachine; import org.arquillian.cube.requirement.ArquillianConditionalRunner; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; @RunWith(ArquillianConditionalRunner.class) @RequiresDockerMachine(name = "dev") public class JSchTest { @Rule public TemporaryFolder folder = new TemporaryFolder(); @Cube(value = "sftp-container", portBinding = "2222->22/tcp") SshdContainer sshdContainer; @Test public void shouldCopyFileToSFtp() throws JSchException, SftpException, IOException { String privateKey = IOUtils.toString( JSchTest.class.getResourceAsStream("/org/arquillian/cube/containerobject/SshdContainer/test_rsa"), "UTF-8"); System.out.println(privateKey); String hello = new Shell.Plain( new SSH( sshdContainer.getIp(), 2222, "test", privateKey ) ).exec("echo 'Hello, world!'"); System.out.println(hello); } private File createFile() throws IOException { final File testFile = folder.newFile("testFile"); FileUtils.write(testFile, "Hello World"); return testFile; } }