minio
The atago project wrote these specs on its own initiative and runs them in its own CI, to exercise atago against a real program. They are not minio’s official test suite, and the minio project is not affiliated with atago.
Summary #
1 suite · 5 scenarios
Contents #
- minio (self-hosted object storage) — 5 scenarios
minio (self-hosted object storage) #
Source: test/e2e/thirdparty/minio/minio.atago.yaml
Scenario: the server reports itself alive over the health API #
Given #
- Background service
miniois started:minio server data --address 127.0.0.1:18120.
When #
# HTTP GET /minio/health/live
# HTTP GET /minio/health/ready
Then #
- after
HTTP GET /minio/health/live:- HTTP status is
200
- HTTP status is
- after
HTTP GET /minio/health/ready:- HTTP status is
200
- HTTP status is
Scenario: anonymous S3 access is denied with a proper S3 XML error #
Given #
- Background service
miniois started:minio server data --address 127.0.0.1:18121.
When #
# HTTP GET /
Then #
- HTTP status is
403 - body contains
<Code>AccessDenied</Code>
Scenario: a full object lifecycle through the mc client #
Given #
- Background service
miniois started:minio server data --address 127.0.0.1:18122. - Fixture file
upload.txtis created.
Inputs #
Fixture upload.txt:
hello object storage
When #
mc alias set local http://127.0.0.1:18122 atago atago-secret-key
mc mb local/atago-bucket
mc cp upload.txt local/atago-bucket/
mc ls --json local/atago-bucket
mc cat local/atago-bucket/upload.txt
mc cp local/atago-bucket/upload.txt downloaded.txt
mc rm local/atago-bucket/upload.txt
mc ls local/atago-bucket
Then #
- after
mc alias set local http://127.0.0.1:18122 atago atago-secret-key:- exit code is
0
- exit code is
- after
mc mb local/atago-bucket:- exit code is
0 - stdout contains
Bucket created successfully
- exit code is
- after
mc cp upload.txt local/atago-bucket/:- exit code is
0
- exit code is
- after
mc ls --json local/atago-bucket:- exit code is
0 - stdout at
$.keyequalsupload.txt - stdout at
$.sizeequals20
- exit code is
- after
mc cat local/atago-bucket/upload.txt:- exit code is
0 - stdout equals an exact value
- exit code is
- after
mc cp local/atago-bucket/upload.txt downloaded.txt:- exit code is
0 - file
downloaded.txtcontainshello object storage
- exit code is
- after
mc rm local/atago-bucket/upload.txt:- exit code is
0 - stdout contains
Removed
- exit code is
- after
mc ls local/atago-bucket:- exit code is
0 - stdout is empty
- exit code is
Scenario: bucket versioning can be enabled and reported #
Given #
- Background service
miniois started:minio server data --address 127.0.0.1:18123.
When #
mc alias set local http://127.0.0.1:18123 atago atago-secret-key
mc mb local/versioned
mc version enable local/versioned
mc version info --json local/versioned
Then #
- after
mc version enable local/versioned:- exit code is
0 - stdout contains
versioning is enabled
- exit code is
- after
mc version info --json local/versioned:- exit code is
0 - stdout at
$.versioning.statusequalsEnabled
- exit code is
Scenario: an anonymous download policy publishes a bucket read-only #
Given #
- Background service
miniois started:minio server data --address 127.0.0.1:18124. - Fixture file
page.txtis created.
Inputs #
Fixture page.txt:
published via bucket policy
When #
mc alias set local http://127.0.0.1:18124 atago atago-secret-key
mc mb local/public-bucket
mc cp page.txt local/public-bucket/
# HTTP GET /public-bucket/page.txt
mc anonymous set download local/public-bucket
# HTTP GET /public-bucket/page.txt
# HTTP PUT /public-bucket/forbidden.txt
Then #
- after
HTTP GET /public-bucket/page.txt:- HTTP status is
403
- HTTP status is
- after
mc anonymous set download local/public-bucket:- exit code is
0 - stdout contains
is set todownload``
- exit code is
- after
HTTP GET /public-bucket/page.txt:- HTTP status is
200 - body contains
published via bucket policy
- HTTP status is
- after
HTTP PUT /public-bucket/forbidden.txt:- HTTP status is
403
- HTTP status is