https://github.com/alkaphreak/marstech-sftp
Test implem of Jsch SFTP API with Kotlin and Spring boot Native, Kotest and Testcontainers
https://github.com/alkaphreak/marstech-sftp
jsch kotest kotlin sftp spring-boot spring-native testcontainers
Last synced: 5 months ago
JSON representation
Test implem of Jsch SFTP API with Kotlin and Spring boot Native, Kotest and Testcontainers
- Host: GitHub
- URL: https://github.com/alkaphreak/marstech-sftp
- Owner: alkaphreak
- License: mit
- Created: 2023-10-17T08:22:34.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-08-20T13:45:01.000Z (10 months ago)
- Last Synced: 2025-08-20T15:35:58.730Z (10 months ago)
- Topics: jsch, kotest, kotlin, sftp, spring-boot, spring-native, testcontainers
- Language: Kotlin
- Homepage:
- Size: 568 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# marstech-sftp
## Efficient SFTP Testing with JSch, Kotlin, Testcontainers, and Spring Boot Native
Explore a streamlined approach to testing SFTP operations using JSch, Kotlin, Testcontainers,
and the power of Spring Boot Native for optimized performance.
## Table of contents
1. [JSCH Howto](doc/Jsch.md)
2. [JSCH testing and TestContainers Howto](doc/Testing.md)
3. [Going Native Howto](doc/Native.md)
4. [Tests containers, going further](doc/TODO)
## Conclusions
In conclusion, we have covered the various steps to use JSch for sending and receiving files with an SSH/SFTP server.
We have set up a test using TestContainers to dynamically spin up a Docker image that served as our server for
conducting our send/receive tests.
We used GraalVM and native compilation to improve the performance of our app.
## Resources
To further expand your knowledge
### JSCH part
* https://github.com/mwiede/jsch
* https://mkyong.com/java/file-transfer-using-sftp-in-java-jsch/
* https://www.ssh.com/academy/ssh/sftp-ssh-file-transfer-protocol
* https://linuxize.com/post/how-to-use-linux-sftp-command-to-transfer-files/
### Testing part
* https://www.baeldung.com/kotlin/kotest
* https://testcontainers.com/guides/getting-started-with-testcontainers-for-java/
* https://engineering.zalando.com/posts/2021/02/integration-tests-with-testcontainers.html
* https://hub.docker.com/r/atmoz/sftp
### Native build part
* https://docs.spring.io/spring-boot/docs/current/reference/html/native-image.html
* https://www.baeldung.com/spring-native-intro
* https://sdkman.io/
### Tests Containers
* https://kotest.io/docs/framework/lifecycle-hooks.html
---
## Hi there 👋
Here is my Linktree: https://linktr.ee/StephaneRobinJob
Here is my refreal link on digital ocean: https://m.do.co/c/be389fc15e1a
Get $200 in free DigitalOcean credits to deploy your next project! Perfect for developers starting their cloud journey.
[](https://www.digitalocean.com/?refcode=be389fc15e1a&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)