Skip to content

Automated Tests

Robin Rodricks edited this page Jul 19, 2026 · 8 revisions

FluentStorage has a large suite of automated tests that run against all enabled providers. Users can prepare a YAML file with the config settings required to connect to their chosen cloud(s), and the automated test suite will be run against those providers.

Code structure

  • Unit tests are in the FluentStorage.Tests.Unit NS.
  • Integration tests are in the FluentStorage.Tests.Integration NS.
  • The main IStore integration test suite is in the FluentStorage.Tests.Integration.Storage.TestSuite NS and is split across multiple files, each containing a related group of tests (file transfer, directory transfer, metadata, streaming, etc.).

Running the tests

  1. Download the FluentStorage repository locally.
  2. Copy the YAML template fluentstorage.yaml.template in the project root to create a new file named fluentstorage.yaml.
  3. Edit fluentstorage.yaml and fill in the connection details for the providers you want to test.
  4. Any provider with missing or incomplete configuration will throw errors indicating the settings it needs.
  5. Build the solution.
  6. Run the integration tests under FluentStorage.Tests.Integration.Storage.* corresponding to your storage provider.

Provider test coverage

Please contribute to this by running the test suite against your chosen provider!

Provider Integration tests passing
Local Disk ✔️ Extremely well tested (100% test cases passing)
FTP ⚠️ Not tested recently
SFTP ✔️ Extremely well tested (95%+ test cases passing)
Azure Blobs ⚠️ Not tested recently
Azure Files ⚠️ Not tested recently
Azure Data Lake ⚠️ Not tested recently
Azure KeyVault ⚠️ Not tested recently
AWS S3 ⚠️ Not tested recently
Google Cloud Storage ⚠️ Not tested recently
Cloudflare R2 ⚠️ Not tested recently
DigitalOcean Spaces ⚠️ Not tested recently
Wasabi ⚠️ Not tested recently
Backblaze B2 ⚠️ Not tested recently
Hetzner ⚠️ Not tested recently
Vultr ⚠️ Not tested recently
MinIO (S3) ⚠️ Not tested recently
MinIO (native) ❌ Never tested
Alibaba OSS ❌ Never tested
MongoDB GridFS ❌ Never tested

Clone this wiki locally