duplicati/LiveTests/Duplicati.Backend.Tests
Kenneth Skovhede 76e582de18 More 9.0.6 fixes
2025-11-14 17:08:43 +01:00
..
Azure Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
B2 Adding B2 to CI 2025-02-18 15:34:22 -03:00
Base Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
Box Fix to parameter name 2025-03-06 16:40:09 -03:00
CIFS Fixed casing and file rename 2025-03-22 07:49:29 +01:00
CloudStack Fixed copy-paste-issue 2025-05-24 10:56:33 +02:00
Dropbox Fixed two nullable warnings in CI tests 2025-06-12 22:25:06 +02:00
Filejump Reverted wron file rename 2025-04-09 16:34:21 +02:00
Filen Reverted wron file rename 2025-04-09 16:34:21 +02:00
FTP Fixes for tests (#5918) 2025-01-28 08:55:28 +01:00
GCS Fixed two nullable warnings in CI tests 2025-06-12 22:25:06 +02:00
Google Drive Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
iDriveee2 Adding Idrivee2 test classes 2025-05-09 09:42:25 -03:00
JottaCloud Adding JottaCloud to CI + CI Progress grid update 2025-05-22 11:55:23 -03:00
OneDrive Added OneDrive to CI tests 2025-04-29 16:26:42 +02:00
pCloud Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
S3 Don't print secrets in test 2025-09-10 14:24:54 +02:00
SSH Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
Utility Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
Webdav Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
Duplicati.Backend.Tests.csproj More 9.0.6 fixes 2025-11-14 17:08:43 +01:00
Duplicati.Backend.Tests.slnx Updated to .NET10 2025-11-14 15:05:39 +01:00
GlobalUsings.cs Feature/update license 2025 (#5851) 2025-01-07 09:40:39 +01:00
Parameters.cs Added support for retries in backend tester 2025-09-10 14:47:23 +02:00
README.md Updated to .NET10 2025-11-14 15:05:39 +01:00

Environment variables for tests

On Github actions these are mapped 1:1 to secrets, even the non password fields are stored in secrets.

General

These control the size and number of files generated.

MAX_FILE_SIZE    default is 1000kb
NUMBER_OF_FILES  default is 20

Backends CI Status

Backend CI Planned CI Status
pCloud Planned Live
WebDav Planned Live
Shhv2 Planned Live
S3 Planned Live
Ftp Planned Live
Planned Planned Live
Dropbox Planned Live
AlternativeFTP Planned Live
AzureBlob Planned Live
CIFS Planned Live
Google Drive Planned Live
Box Planned Live
FileJump Planed Live
OneDrive Planned Live
IDrive2 Planned Live
backBlaze Planned Live
Filen Planned Live
Jottacloud Pannned Live
GCS Planned Live
OpenStack Planned Live
File Planned
TahoeLAFS Planned
TescentCOS Pending Decision
Storj Pending Decision
SharePoint Pending Decision
Rclone Pending Decision
Mega Deprecated
AliyunOSS Pending Decision

Backends that do not require Environment variables

  • FTP (TestContainers required)
  • SSH (TestContainers required)
  • Webdav (TestContainers required)
  • CIFS (TestContainers required)

Please note that TestContainers token has to be configured in secrets/Github actions yml.

Backends that require Environment variables

CloudStack

TESTCREDENTIAL_CLOUDSTACK_USERNAME
TESTCREDENTIAL_CLOUDSTACK_PASSWORD
TESTCREDENTIAL_CLOUDSTACK_LOCATION
TESTCREDENTIAL_CLOUDSTACK_TENANT
TESTCREDENTIAL_CLOUDSTACK_DOMAIN
TESTCREDENTIAL_CLOUDSTACK_REGION
TESTCREDENTIAL_CLOUDSTACK_FOLDER

JottaCloud

TESTCREDENTIAL_JOTTACLOUD_AUTHID
TESTCREDENTIAL_JOTTACLOUD_FOLDER

iDrivee2

TESTCREDENTIAL_IDRIVEE2_BUCKET
TESTCREDENTIAL_IDRIVEE2_ACCESS_KEY
TESTCREDENTIAL_IDRIVEE2_SECRET_KEY
TESTCREDENTIAL_IDRIVEE2_FOLDER

Filejump

TESTCREDENTIAL_FILEJUMP_FOLDER
TESTCREDENTIAL_FILEJUMP_TOKEN

FileN

TESTCREDENTIAL_FILEN_FOLDER
TESTCREDENTIAL_FILEN_USERNAME
TESTCREDENTIAL_FILEN_PASSWORD

Box.com

TESTCREDENTIAL_BOX_FOLDER
TESTCREDENTIAL_BOX_AUTHID

Backblaze B2

Backblaze B2 credentials are mapped to the following environment variables:

TESTCREDENTIAL_B2_BUCKET
TESTCREDENTIAL_B2_FOLDER
TESTCREDENTIAL_B2_USERNAME
TESTCREDENTIAL_B2_PASSWORD

Google Drive:

Google Drive credentials are mapped to the following environment variables:

TESTCREDENTIAL_GOOGLEDRIVE_FOLDER
TESTCREDENTIAL_GOOGLEDRIVE_TOKEN

S3

S3 credentials are mapped to the following environment variables:

Attention: AWS TESTCREDENTIAL_S3_SECRET is URI escaped automatically, supply the raw value.

TESTCREDENTIAL_S3_KEY
TESTCREDENTIAL_S3_SECRET
TESTCREDENTIAL_S3_BUCKETNAME
TESTCREDENTIAL_S3_REGION

Dropbox

Dropbox credentials are mapped to the following environment variables:

TESTCREDENTIAL_DROPBOX_FOLDER
TESTCREDENTIAL_DROPBOX_TOKEN

Azure Blob

Attention: TESTCREDENTIAL_AZURE_ACCESSKEY is URI escaped automatically, supply the raw value.

TESTCREDENTIAL_AZURE_ACCOUNTNAME
TESTCREDENTIAL_AZURE_ACCESSKEY
TESTCREDENTIAL_AZURE_CONTAINERNAME

pCloud Native API

TESTCREDENTIAL_PCLOUD_SERVER
TESTCREDENTIAL_PCLOUD_TOKEN
TESTCREDENTIAL_PCLOUD_FOLDER

For PCloud the server is the API server(eapi.pcloud.com for EU hosted account or api.pcloud.com for non EU). The token is the OAuth token.

Google Cloud Services

TESTCREDENTIAL_GCS_BUCKET
TESTCREDENTIAL_GCS_FOLDER
TESTCREDENTIAL_GCS_TOKEN

Running the tests

TestContainers is a pre-requisite for SSH, FTP and Webdav tests. It is not required for the other tests.

Set the environment variables as described above, then run the tests using the following commands:

Minimal Verbosity:

dotnet test Duplicati.Backend.Tests.slnx --logger:"console;verbosity=normal"

Running with full verbosity (useful if tests are failing):

dotnet test Duplicati.Backend.Tests.slnx --logger:"console;verbosity=detailed"

Running specific tests:

dotnet test Duplicati.Backend.Tests.slnx --logger:"console;verbosity=detailed" --filter="Name=TestDropBox"