Использование Apache Mina в качестве фиктивного/в памяти SFTP-сервера для модульного тестирования

У меня возникли некоторые проблемы с тем, как использовать Apache Mina. Их документация немного скудна для моего бездарного мозга. Я видел полезный стартовый код на Библиотека Java-сервера SFTP?

Чего я не могу понять, так это как его использовать. Я хочу настроить модульный тест, который проверяет мой код sftp, используя Mina в качестве своего рода фиктивного сервера, т. Е.иметь возможность написать модульный тест, например:

@Before 
public void beforeTestSetup() {
    sshd = SshServer.setUpDefaultServer();
    sshd.setPort(22);
    sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser"));

    List> userAuthFactories = new ArrayList>();
    userAuthFactories.add(new UserAuthNone.Factory());
    sshd.setUserAuthFactories(userAuthFactories);
    sshd.setPublickeyAuthenticator(new PublickeyAuthenticator());


    sshd.setCommandFactory(new ScpCommandFactory());

    List> namedFactoryList = new ArrayList>();
    namedFactoryList.add(new SftpSubsystem.Factory());
    sshd.setSubsystemFactories(namedFactoryList);

    try {
        sshd.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Test
public void testGetFile() {

}

Вопрос в том, что вставить в testGetFile().

Я просматривал тестовый код, задаваясь вопросом, нужны ли дополнительные настройки в приведенном выше, чтобы указать корневой каталог, имя пользователя и имя файла ключа аутентификации. Тогда мне нужно будет получать и извлекать из него файлы с помощью клиента или моего собственного API-кода SFTP?

Я уверен, что это отличный API, просто для него не так много инструкций, может ли кто-нибудь помочь?

13
задан Community 23 May 2017 в 11:53
поделиться