Skip to content

Enable S3 client mocking

João Pereira requested to merge enable-s3-mocking into release/2.7-gitlab

Problem

We're unable to write advanced tests for the S3 storage driver. For example, it's not possible to simulate specific errors, which would only be possible by mocking the underlying S3 client.

This leads to low test coverage and unexpected behaviour when handling errors in production.

Solution

This MR changes the underlying S3 storage driver client to be of type s3iface.S3API (interface) instead of the concrete type *s3.S3. Doing so enables us to mock the S3 client for testing purposes.

Example

See !34 (a4a1a131) (for demonstration purposes only).

Edited by João Pereira

Merge request reports