Faking S3 storage with Minio

1.5.0 2023-04-24 21:06 UTC

This package is auto-updated.

Last update: 2024-04-24 23:22:14 UTC


README

This library provides a convenient way to write test code that runs against Minio, an S3 compatible storage.

Installation

composer require customergauge/minio

Usage

$minio = new Minio();

$minio->disk('my-bucket', function (S3Client $client, string $bucket) {
    $this->post('/my/endpoint/that/interacts/with/s3', [])
        ->assertSuccessful();

    $object = $client->getObject([
        'Bucket' => $bucket,
        'Key' => "/my/expected/s3/key"
    ]);

    $content = $object['Body']->getContents();

    $this->assertStringContainsString('partial-file-content', $content);
});

Docker Example

  minio:
    image: minio/minio
    ports:
    - 9000:9000
    environment:
      - MINIO_ACCESS_KEY=customergauge
      - MINIO_SECRET_KEY=phpunit123
    command: server /data