Using Azure blob storage for Documenten API

In order to test Azure blob storage for the Documenten API locally, make sure the environment variable DOCUMENTEN_API_BACKEND is set to azure_blob_storage.

By default, the development and CI settings are configured to use a connection string to connect with Azurite. You can spin up Azurite with:

docker compose -f docker/docker-compose.azurite.yml up -d

If you want to connect with a real Azure storage instance, make sure to follow the instructions in the installation docs to configure an app and service principal in Azure and then set the correct values as described for the envvars.

(Re)-recording VCR cassettes

The same Azurite docker compose setup as described above is used together with VCR in the testsuite. To (re)-record cassettes, make sure Azurite is running, delete the existing cassettes or set VCR_RECORD_MODE=all and run the tests.

Note

When making requests to the Azure storage API, the filename is included in the request URL, which can cause issues with VCR, because it matches by method + URL. Some extra work is needed to make sure that the same filename is used in each test (e.g. specifying explicit inhoud__filename or mocking uuid to make it a fixed value for a specific tests).