2011-04-04 21:45:42 +00:00
|
|
|
========================
|
|
|
|
S3 compatibility tests
|
|
|
|
========================
|
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
This is a set of unofficial Amazon AWS S3 compatibility
|
|
|
|
tests, that can be useful to people implementing software
|
|
|
|
that exposes an S3-like API. The tests use the Boto2 and Boto3 libraries.
|
2011-04-04 21:45:42 +00:00
|
|
|
|
|
|
|
The tests use the Nose test framework. To get started, ensure you have
|
|
|
|
the ``virtualenv`` software installed; e.g. on Debian/Ubuntu::
|
|
|
|
|
|
|
|
sudo apt-get install python-virtualenv
|
|
|
|
|
|
|
|
and then run::
|
|
|
|
|
|
|
|
./bootstrap
|
|
|
|
|
|
|
|
You will need to create a configuration file with the location of the
|
2017-12-07 20:41:01 +00:00
|
|
|
service and two different credentials. A sample configuration file named
|
|
|
|
``s3tests.conf.SAMPLE`` has been provided in this repo. This file can be
|
|
|
|
used to run the s3 tests on a Ceph cluster started with vstart.
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
Once you have that file copied and edited, you can run the tests with::
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
S3TEST_CONF=your.conf ./virtualenv/bin/nosetests
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
You can specify which directory of tests to run::
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
S3TEST_CONF=your.conf ./virtualenv/bin/nosetests s3tests.functional
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
You can specify which file of tests to run::
|
2016-12-15 10:27:49 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
S3TEST_CONF=your.conf ./virtualenv/bin/nosetests s3tests.functional.test_s3
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
You can specify which test to run::
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
S3TEST_CONF=your.conf ./virtualenv/bin/nosetests s3tests.functional.test_s3:test_bucket_list_empty
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2016-03-30 15:25:25 +00:00
|
|
|
To gather a list of tests being run, use the flags::
|
|
|
|
|
|
|
|
-v --collect-only
|
|
|
|
|
2011-04-04 21:45:42 +00:00
|
|
|
Some tests have attributes set based on their current reliability and
|
|
|
|
things like AWS not enforcing their spec stricly. You can filter tests
|
|
|
|
based on their attributes::
|
|
|
|
|
|
|
|
S3TEST_CONF=aws.conf ./virtualenv/bin/nosetests -a '!fails_on_aws'
|
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
Most of the tests have both Boto3 and Boto2 versions. Tests written in
|
|
|
|
Boto2 are in the ``s3tests`` directory. Tests written in Boto3 are
|
|
|
|
located in the ``s3test_boto3`` directory.
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
You can run only the boto3 tests with::
|
2011-04-04 21:45:42 +00:00
|
|
|
|
2017-12-07 20:41:01 +00:00
|
|
|
S3TEST_CONF=your.conf ./virtualenv/bin/nosetests -v -s -A 'not fails_on_rgw' s3tests_boto3.functional
|
2016-03-30 15:25:25 +00:00
|
|
|
|