Collection of tests to detect overall correctness of Minio server.
- To run tests in self contained manner, with various tools pre-installed
- To assess the quality of the Minio server product
- Add test cases under categories like correctness, stress/load, etc.
- Add specific tests for distributed mode, shared-backend mode, gateway mode
- Add other SDK/Client side tools to increase the test case variety
- Add bench-marking tools
How to Run
The project will be published in Docker hub after further more testing. Till then the docker image has to be built locally and run.
$ git clone https://github.com/minio/mint.git $ cd mint $ docker build -t minio/mint .
Set environment variables to pass test target server details to the docker container. Supported envs:
SERVER_ENDPOINT- <IP/URL>:<PORT> of the Minio server on which the tests has to be run
ACCESS_KEY- Access Key of the server
SECRET_KEY- Secret Key of the server
ENABLE_HTTPS- Optional value when set to 1 sends HTTPS requests on SSL enabled deployment
Note: With no env variables provided the tests are run on play.minio.io by default
apps- Directories specified in this section are executed in sequential order. You can comment out specific directories to remove them from execution or rearrange them to change execution order.
quickmode supported right now. Only basic tests are run in quick mode.
To run Mint image, use the
docker run command. For example, to run Mint with Minio Play server as test target use the below command
$ docker run -e SERVER_ENDPOINT=play.minio.io:9000 -e ACCESS_KEY=Q3AM3UQ867SPQQA43P2F -e SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG -e ENABLE_HTTPS=1 minio/mint
After the tests are run, output is stored in
/mint/log directory inside the container. You can access these logs via
docker cp command. For example to store logs to
/tmp/logs directory on your host, run
docker cp minio/mint:/mint/log /tmp/logs
Then navigate to
/tmp/logs directory to access the test logs.
Following SDKs/CLI tools are available:
To add tests to an existing SDK folder:
- Navigate to specific SDK test file in the path
- Add test cases and update
mainmethod if applicable.
To add new SDK/CLI to Mint:
- Create new directory in
apps/directory with corresponding tool name
- Add a
run.shscript. This script should set up the SDK/CLI tool and then execute the tests
- Add an entry in
config.yamlwith name of folder, e.g test_folder