Estoy teniendo problemas para encontrar la manera de usar Apache Mina. Su documentación es un poco escasa para que mi cerebro sin talento funcione. He visto el útil código de inicio en Java SFTP server library?Usando Apache Mina como un Servidor SFTP Simulado/en Memoria para Prueba de Unidad
Lo que no puedo entender es cómo usarlo. Quiero fijar una unidad de prueba que comprueba mi código SFTP, utilizando Mina como una especie de simulacro de servidor, es decir, ser capaz de escribir una prueba unitaria como:
@Before
public void beforeTestSetup() {
sshd = SshServer.setUpDefaultServer();
sshd.setPort(22);
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser"));
List<NamedFactory<UserAuth>> userAuthFactories = new ArrayList<NamedFactory<UserAuth>>();
userAuthFactories.add(new UserAuthNone.Factory());
sshd.setUserAuthFactories(userAuthFactories);
sshd.setPublickeyAuthenticator(new PublickeyAuthenticator());
sshd.setCommandFactory(new ScpCommandFactory());
List<NamedFactory<Command>> namedFactoryList = new ArrayList<NamedFactory<Command>>();
namedFactoryList.add(new SftpSubsystem.Factory());
sshd.setSubsystemFactories(namedFactoryList);
try {
sshd.start();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetFile() {
}
La cuestión es qué poner en testGetFile()
.
He estado rastreando el código de prueba preguntándome si se necesita más configuración en lo anterior para especificar un directorio raíz, un nombre de usuario y un nombre de archivo de clave de autenticación. Entonces, ¿tendré que obtener y extraer archivos de él usando un cliente o mi propio código api de SFTP?
Estoy seguro de que esta es una API excelente, simplemente no hay mucha instrucción, ¿alguien puede ayudar?