Как я могу протестировать команду JSch scp в интеграционном тесте?

Я взял этот файл http://www.jcraft.com/jsch/examples/ScpTo.java.htm, и я создал приложение Spring Boot, которое отправляет файл на удаленный хост. Однако у меня возникли проблемы с размышлением о том, как проверить это, чтобы убедиться, что он может отправлять файл на удаленный сервер.

Я создал модульные тесты для каждого из компонентов, которые я сделал, но я не могу придумать, как создать интеграционный тест для этого приложения со всем, что подключено как приложение с весенней загрузкой, которое будет тестировать SCPing на удаленный хост, но быть автономным для CI-сборка.

У меня была идея использовать testcontainers и загрузку Spring, но есть пара вещей, которые мне нужно проверить.

  1. Что бы я поместил в dockerfile?
  2. И какую стратегию ожидания я бы использовал, учитывая, что я не открываю порт HTTP в образе докета для подключения к серверу?
  3. Будет ли SCP работать между хостом и контейнером докера, если у докера есть docker-cp?

Мою кодовую базу можно найти здесь.


person JCB    schedule 01.08.2020    source источник
comment
У нас проходят тестовые контейнеры по адресу github.com/mwiede/jsch/blob/master/src/test/java/com/jcraft/   -  person Matthias Wiedemann    schedule 01.08.2020
comment
Спасибо, Матиас. Ваш код немного помог мне смоделировать рабочее решение!   -  person JCB    schedule 04.08.2020


Ответы (1)


  1. Вероятно, вы можете попробовать использовать https://hub.docker.com/r/rastasheep/ubuntu-sshd
  2. Я думаю, вам не нужно указывать стратегию ожидания в вашем случае.
  3. Вы можете получить хост container.getHost() и работать с ним так же, как с обычным ssh-сервером.
person Vitaly Chura    schedule 01.08.2020