mirror of
https://github.com/versity/versitygw.git
synced 2026-01-07 04:06:23 +00:00
Command-Line Tests
Instructions - Running Locally
- Build the
versitygwbinary. - Install the command-line interface(s) you want to test if unavailable on your machine.
- Install BATS. Instructions are here.
- Create a
.secretsfile in thetestsfolder, and add theAWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEYvalues to the file. - Create a local AWS profile for connection to S3, and add the
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, andAWS_REGIONvalues for your account to the profile. Example:
export AWS_PROFILE=versity-test
export AWS_ACCESS_KEY_ID=<your account ID>
export AWS_SECRET_ACCESS_KEY=<your account key>
export AWS_REGION=<your account region>
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile $AWS_PROFILE
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile $AWS_PROFILE
aws configure set aws_region $AWS_REGION --profile $AWS_PROFILE
- Create an environment file (
.env) similar to the ones in this folder, setting theAWS_PROFILEparameter to the name of the profile you created. - If using SSL, create a local private key and certificate, such as with the commands below. Afterwards, set the
KEYandCERTfields in the.envfile to these, respectively.
openssl genpkey -algorithm RSA -out versitygw.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -x509 -key versitygw.pem -out cert.pem -days 365
- Set
BUCKET_ONE_NAMEandBUCKET_TWO_NAMEto the desired names of your buckets. If you don't want them to be created each time, setRECREATE_BUCKETStofalse. - In the root repo folder, run single test group with
VERSITYGW_TEST_ENV=<env file> tests/run.sh <options>. To print options, runtests/run.sh -h. To run all tests, runVERSITYGW_TEST_ENV=<env file> tests/run_all.sh.
Instructions - Running With Docker
- Create a
.secretsfile in thetestsfolder, and add theAWS_PROFILE,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, and theAWS_PROFILEfields. - Build and run the
Dockerfile_test_batsfile.