robinrodricks / FluentStorage

A polycloud .NET cloud storage abstraction layer. Provides Blob storage (AWS S3, GCP, FTP, SFTP, Azure Blob/File/Event Hub/Data Lake) and Messaging (AWS SQS, Azure Queue/ServiceBus). Supports .NET 5+ and .NET Standard 2.0+. Pure C#.
MIT License
263 stars 33 forks source link

Hotfix/ftpblobstorage should append or write depending on append parameter value #25

Closed candoumbe closed 1 year ago

candoumbe commented 1 year ago

Fixes

Issue #23

Description

This PR fixes the support for the append parameter in the FluentFtpBlobStorage implementation of IBlobStorage which was missing.

Also the fixed implementation of IBlobStorage.WriteAsync(string file, bool append, CancellationToken ct) was rewritten to create the hiearchy of directory (if needed).

A new test project was added and contains only a unit/integration tests for FluentFtpBlobStorage.WriteAsync for now. The new test uses TestContainers library to spin a FTP server during the test execution (it requires docker to be installed)

robinrodricks commented 1 year ago

Looks great, thanks!

candoumbe commented 1 year ago

@robinrodricks I need to add some comments/documentation before this PR can be merged but is there a way to get a beta version?