-
-
Notifications
You must be signed in to change notification settings - Fork 73
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.
- Unit tests are in the
FluentStorage.Tests.UnitNS. - Integration tests are in the
FluentStorage.Tests.IntegrationNS. - The main
IStoreintegration test suite is in theFluentStorage.Tests.Integration.Storage.TestSuiteNS and is split across multiple files, each containing a related group of tests (uploading, downloading, directory operations, metadata, streaming, etc.).
- Copy the YAML template
fluentstorage.yaml.templatein the project root to create a new file namedfluentstorage.yaml. - Edit
fluentstorage.yamland fill in the connection details for the providers you want to test. - Any provider with missing or incomplete configuration will throw errors indicating the settings it needs.
- Download the FluentStorage repository locally.
- Build the solution.
- Run the integration tests under
FluentStorage.Tests.Integration.Storage.*corresponding to your storage provider.
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 | |
| SFTP | ✔️ Extremely well tested (95%+ test cases passing) |
| Azure Blobs | |
| Azure Files | |
| Azure Data Lake | |
| Azure KeyVault | |
| AWS S3 | |
| Google Cloud Storage | |
| Cloudflare R2 | |
| DigitalOcean Spaces | |
| Wasabi | |
| Backblaze B2 | |
| Hetzner | |
| Vultr | |
| MinIO (S3) | |
| MinIO (native) | ❌ Never tested |
| Alibaba OSS | ❌ Never tested |
| MongoDB GridFS | ❌ Never tested |