Commit graph

479 commits

Author SHA1 Message Date
Robin H. Johnson
88b6328003 website: Improve XML handling and x-amz-website-redirect-location tests
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
e0655234b1 Lots of tests, that pass on AmazonS3 unless the phase of the moon is wrong. There is a non-trivial degree of lag in S3 applying WebsiteConfiguration changes sometimes, eu-west-1 was taking 20+ seconds during part of the last day. Compounded by the Amazon eventual-consistency made developing these tests difficult at times.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
819eecba5c Work on tests.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
5d158567fd Update redirect checks for x-amz-website-redirect-location
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
c1f7ad54ce Use new XML checks.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
4d8c6bdb69 Add XML improvements.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
672e0ad0e4 Improve test attribute.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
ddfcf59e53 Add tests for x-amz-website-redirect-location, code still pending.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
25e9980af8 website: refactor and add redirect testcases, so far 3 failures out of 27 new tests.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
c053a96ef2 Fixup path stuff for redirect test.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
5c681dacff Prepare for better testcases, with fixture functions.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
a9fd9988e1 website: Clean up imports.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
4c07c555ee website: Start redirect tests.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
ea69111773 website: improve test structure.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
cb1e14ae16 website: bucket-level tests (indexdoc, errordoc)
This adds tests for the new S3 Website code under development at on the
wip-static-website-robbat2-master branch (see the robbat2 fork).

The ErrorDoc tests with a valid uploaded ErrorDoc show that my existing
code fails as expected :-). All other IndexDoc cases pass already.

It would be nice to refactor some of this set of tests and extract
common code, because the only variation in some of them is the ACLs on a
single file.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
a48a8983b7 refactor out _make_request and _make_bucket_request, with a common _make_raw_request; ready for s3website testing.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Robin H. Johnson
3cf86161d0 Use py3 print.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-04-20 16:08:57 -07:00
Wido den Hollander
dd2bfc56c6
Add test to verify if Asterisk Origin is returned when * is set as a Allowed Origin.
For example:

The request sends 'Origin: example.origin' while * is allowed as
a origin by the CORS rule.

The Server should then respond with * if no Authorization was send.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2016-04-19 17:12:12 +02:00
Yuan Zhou
22edd83083 gevent: bump to >=1.0
There are some DNS resolving issue on 0.13.6.
Bumping to >=1.0 fixes the issues for me.

Fixes: #13885

Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
2016-04-11 16:01:34 +08:00
Javier M. Mellid
e7241f2ff1 Add fails_on_rgw on multipart copy part tests
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-03-28 09:19:27 +00:00
Yehuda Sadeh
278113fbc5 rgw: add a few tests that check for null object versioning behavior
Deals with ceph issue #15243

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-22 18:40:39 -07:00
Javier M. Mellid
11bb947a0b rgw: add X-Amz-Expires test cases
Test X-Amz-Expires under AWS4 auth.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-01-27 02:19:20 +00:00
Yehuda Sadeh
a13f6441ae Merge pull request #89 from andrewgaul/atomic-multipart-upload
Test begin to overwrite file with MPU then abort

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 12:25:59 -08:00
Andrew Gaul
c788b7d0cd Test begin to overwrite file with MPU then abort
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-12-18 12:16:59 -08:00
Robin H. Johnson
d98d7956c1 Improve proxy error support: "Bad Request" case
If you are run the S3 testsuite against a reverse proxy (eg haproxy)
rather than RGW directly, some of the tests will return errors from the
proxy, rather than haproxy itself.

Some proxies differ from RGW in the exact case of 'Bad Request', so do
the match in a case-insensitive manner. Haproxy for example returns 'Bad
request'.

This removes the need for some of the prior fails_on_dho test tags, as
the failure was due to haproxy.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-18 11:50:11 -08:00
Yehuda Sadeh
a85b279bdc Merge pull request #88 from andrewgaul/head-zero-bytes
Add test for HEAD of a zero-byte object

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:57:19 -08:00
Yehuda Sadeh
958a718558 Merge pull request #87 from dreamhost/wip-cleanup-buckets
s3tests: do not exit cleanup after first bucket!

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:56:36 -08:00
Yehuda Sadeh
b00d8b3653 Merge pull request #85 from dreamhost/wip-test-issue11563
Add test for COPY Content-Type header

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:56:02 -08:00
Yehuda Sadeh
f33c3e2432 Merge pull request #83 from andrewgaul/list-objects-public-read-bucket
Anonymously list private and public-read buckets

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:54:46 -08:00
Yehuda Sadeh
44f2ce8281 Merge pull request #77 from andrewgaul/special-key-names
Consolidate test_object_create_special_characters

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:52:58 -08:00
Yehuda Sadeh
86c311b0d1 Merge pull request #73 from andrewgaul/ends-with-delimiter
Test listing a blob which ends with delimiter

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:51:03 -08:00
Yehuda Sadeh
2c9501f547 Merge pull request #49 from andrewgaul/copy-bucket-key-not-found
Copy tests for non-existent buckets and keys

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:50:20 -08:00
Yehuda Sadeh
2851e0c214 Merge pull request #30 from andrewgaul/bucket-create-exists
Handle idempotent and BucketAlreadyOwnedByYou

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-12-18 09:49:10 -08:00
Javier M. Mellid
914b0f36c1 rgw: add AWS4 auth testing support
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-12-18 00:22:11 +01:00
Andrew Gaul
7ac3a4008a Add test for HEAD of a zero-byte object
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-12-15 00:16:06 -08:00
Robin H. Johnson
de65c582b7 s3tests: do not exit cleanup after first bucket!
Bucket cleanup code was exiting after the first succesful bucket
removed, instead of cleaning up all buckets. This left many buckets
behind over time, causing large slowdowns of the test suite.

This was introduced in commit c41ebab9cf,
when changes for versioned files were added.

Signed-off-by: Kobi Laredo <kobi.laredo@dreamhost.com>
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Backport: hammer
2015-12-01 17:28:23 -08:00
Javier M. Mellid
84067cb17c s3tests: Check content is correct on copy multipart
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-11-25 15:50:18 +01:00
Robin H. Johnson
703f63e060 Add test for COPY Content-Type header
Issue #11563 deals with the COPY command breaking the Content-Type
header. Add a test case for this to ensure it remains fixed.

Reference: http://tracker.ceph.com/issues/11563
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-11-12 22:09:05 -08:00
Yehuda Sadeh
017354ae07 Merge pull request #76 from jmunhoz/test-requestid-on-error
Test RequestId on error

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-10-29 08:38:31 -07:00
Javier M. Mellid
6ca9492797 s3tests: Add test_object_requestid_matchs_header_on_error
Error responses' RequestId must match header's x-amz-request-id value.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-10-29 00:12:51 +01:00
Javier M. Mellid
63048b7bdf s3tests: Add test_object_requestid_on_error
Error responses must contains a RequestId tag. This is the ID of the
request associated with the error.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-10-28 23:55:45 +01:00
Yehuda Sadeh
001972a51c Merge pull request #75 from jmunhoz/test-multipart-cp
Test multipart copy part feature

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-10-27 08:19:30 -07:00
Andrew Gaul
019dd9501a Anonymously list private and public-read buckets
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-10-15 21:49:43 -07:00
Yehuda Sadeh
21cf4f4c87 check if setting acls modifies etag in bucket listing
This checks for ceph issue #12955

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-09-29 08:15:42 -07:00
Andrew Gaul
168ab9f473 Consolidate test_object_create_special_characters
test_bucket_create_special_key_names duplicates this test.  Add
missing cases and reformat for clarity.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-09-11 10:52:43 -07:00
Yehuda Sadeh
4900d6af3a rgw: test versioned objects with special names
E.g., objects that start with undescore

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-09-10 13:18:28 -07:00
Javier M. Mellid
88ccf95fc5 s3tests: Add test_multipart_copy_multiple_sizes
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-09-02 18:57:25 +02:00
Javier M. Mellid
126da37dfd s3tests: Add test_multipart_copy_small
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-09-02 18:57:25 +02:00
Andrew Gaul
f642492ee9 Test listing a blob which ends with delimiter
This has a different behavior than when the blob does not end with the
delimiter.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-08-13 11:12:09 -07:00
Yehuda Sadeh
88fe0d05f4 Merge pull request #53 from andrewgaul/mpu-invalid-parts
Add multipart tests with invalid parts

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-08-13 10:28:45 -07:00
Yehuda Sadeh
a7f483f3cd Merge pull request #64 from andrewgaul/cache-control-expires-headers
Add tests for Cache-Control and Expires headers

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-08-13 10:27:14 -07:00
Andrew Gaul
d9768942ec Add tests for conditional gets
Fixes #72.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-08-12 20:43:50 -07:00
Andrew Gaul
553007eb4a Add tests for Cache-Control and Expires headers
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-06-30 16:39:13 -07:00
Yehuda Sadeh
3fea65c3b4 s3tests: fix for python 2.6
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-06-30 11:26:35 -07:00
Andrew Gaul
3ed20fd910 Remove unneeded called to _head_bucket
Test does not consume obj_count or bytes_used and this function now
returns a dict of optional headers.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-06-30 10:09:29 -07:00
Yehuda Sadeh
5407628c3a s3tests: adjust copy tests to test copy of larger objects
rgw has different code paths for objects > 512k

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-06-17 13:20:54 -07:00
Yehuda Sadeh
226f5eb507 Merge pull request #58 from robbat2/wip-unique-testname
tests must have unique names, otherwise they override existing tests.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-06-17 13:31:30 -07:00
Yehuda Sadeh
f01ec62a67 Merge pull request #61 from andrewgaul/range-get-content-range
Test Content-Range header in range requests

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-06-17 13:30:32 -07:00
Andrew Gaul
6110a41bcd Test range get with invalid range
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-06-17 09:18:39 -07:00
Andrew Gaul
f6329714cc Test Content-Range header in range requests
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-06-17 08:26:46 -07:00
Yehuda Sadeh
6e70b4b511 s3tests: fix multipart test
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-06-16 15:32:19 -07:00
Robin H. Johnson
c5ba8c4e0f tests must have unique names, otherwise they override existing tests.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2015-06-14 22:10:35 -07:00
Javier M. Mellid
cece4dd137 s3tests: Test copying foreign object in foreign bucket
User should be able to copy non-owned objects inside non-owned buckets when
they have full permissions to both bucket and object.

Test for issue #11639

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2015-05-27 11:31:43 +02:00
Yehuda Sadeh
725bb83e5e s3tests: more thorough multipart resend tests
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-05-13 17:11:51 -07:00
Yehuda Sadeh
8151c6901e radosgw-admin: test resend of a multipart upload part
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-05-12 17:06:38 -07:00
Andrew Gaul
6706d5d8a9 Add multipart tests with invalid parts
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-05-02 11:09:31 -07:00
Andrew Gaul
31efb46b28 Handle empty bucket while nuking
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-05-01 13:10:58 -07:00
Andrew Gaul
0dfcbc7da6 Fall back when nuking buckets
Some S3 implementations do not support object versioning - fall back
to listing without versions.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-04-24 14:47:28 -07:00
Yehuda Sadeh
c41ebab9cf s3tests: cleanup, set bucket acls if permission denied
retry bucket removal after setting the bucket permissions if we're
getting pemission denied. This will make sure the bucket gets removed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-04-24 13:51:21 -07:00
Andrew Gaul
b209f9992f Add test_object_acl_canned_during_create
This mirrors test_bucket_acl_canned_during_create.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-04-23 16:29:54 -07:00
Andrew Gaul
2f357f8ba8 Copy tests for non-existent buckets and keys
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-04-18 04:12:43 -07:00
Andrew Gaul
29581e278b Replace and retain Content-Type in copy tests
Also set user metadata during put instead of issuing an additional
copy.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-04-05 17:31:07 -07:00
Yehuda Sadeh
e97a13e8e8 Merge pull request #45 from andrewgaul/head-operation-tests
Do not rely on Ceph extensions in head bucket

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-17 09:35:04 -07:00
Yehuda Sadeh
26e8378f6c Merge pull request #46 from andrewgaul/container-create-acl
Test setting container ACLs during create bucket

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-17 09:33:10 -07:00
Andrew Gaul
1fed8aebd3 Test setting container ACLs during create bucket
Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-03-15 18:06:12 -07:00
Andrew Gaul
7b4373bb72 Do not rely on Ceph extensions in head bucket
This commit allows test_bucket_head test_bucket_head,
test_bucket_head_extended, test_multipart_upload, and
test_abort_multipart_upload to succeed against AWS-S3.  Also use
public buckets for head tests since they do not require private
buckets.

Signed-off-by: Andrew Gaul <andrew@gaul.org>
2015-03-10 11:19:24 -07:00
Andrew Schoen
3d3ea9bcfe Add fails_on_mod_proxy_fcgi to functional.test_s3.test_100_continue
Backport: hammer, firefly

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2015-03-10 12:28:13 -05:00
Andrew Gaul
4d7638de5b Copy tests for replacing and retaining metadata 2015-03-02 14:13:30 -08:00
Yehuda Sadeh
81ee959c57 s3tests: add tests of acl settings by alt user
verify ownership

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 16:49:44 -08:00
Yehuda Sadeh
9d36507fdd s3tests: add missing imports
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 11:54:44 -08:00
Yehuda Sadeh
1daa9ec8ec Merge pull request #37 from andrewgaul/empty-content-length
Do not check error_code with empty content length

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:38:21 -08:00
Yehuda Sadeh
629610d788 Merge pull request #36 from andrewgaul/starts-with-nonalpha
Use unique name in starts with nonalpha test

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:37:42 -08:00
Yehuda Sadeh
d2de82d020 Merge pull request #34 from andrewgaul/abort-multipart-upload-not-found
Add test for aborting a bogus multi-part upload

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:36:33 -08:00
Yehuda Sadeh
c9e76672df Merge pull request #33 from andrewgaul/multi-delete
Ensure multi-delete removes keys

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:35:45 -08:00
Yehuda Sadeh
6582a28395 Merge pull request #32 from andrewgaul/xml-special-characters
Add test for keys with XML special characters

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:35:08 -08:00
Yehuda Sadeh
eac714c9b7 Merge pull request #31 from andrewgaul/get-location
Add test for querying location

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:34:05 -08:00
Yehuda Sadeh
284938942e Merge pull request #29 from andrewgaul/multipart-upload-empty-small
Test empty and small multi-part uploads

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:30:51 -08:00
Yehuda Sadeh
923bf8845c Merge pull request #18 from andrewgaul/bad-digest
Test to find mismatched MD5

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:26:44 -08:00
Yehuda Sadeh
681063cc87 Merge pull request #16 from andrewgaul/put-object-correct-etag
Test that put object returns correct ETag

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:25:02 -08:00
Yehuda Sadeh
56b7d32fe1 Merge pull request #15 from andrewgaul/half-open-range-requests
Test half-open range requests

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:24:12 -08:00
Yehuda Sadeh
de985d8e14 Merge pull request #12 from andrewgaul/short-write-disable-retries
Disable retries to test short writes

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:17:48 -08:00
Yehuda Sadeh
d0e4dd09b0 Merge pull request #11 from andrewgaul/long-bucket-name-tests
Call get_new_bucket_name in long bucket name tests

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:16:20 -08:00
Yehuda Sadeh
a9dab59337 s3tests: fix test_bucket_create_bad_contentlength_empty
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-02-27 10:23:09 -08:00
Yehuda Sadeh
a7909ddd47 s3tests: test POST with bad access key
Tests issue #10698

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-02-05 09:42:45 -08:00
Yehuda Sadeh
f33a86b388 Merge branch 'wip-bi-sharding-3' into wip-rgw-versioning-3
Conflicts:
	s3tests/functional/test_s3.py
2015-01-22 15:24:07 -08:00
Yehuda Sadeh
76e8bed4bd s3tests: send raw http requests to test redirects
Since we fixed the rgw redirect code, it turns out that boto actually
follows on them. We just want to check if redirect is sent.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-22 15:21:46 -08:00
Yehuda Sadeh
4d0af2149f Merge pull request #27 from xylv/wip-test-issue-10311
s3tests: add regression test for bug #10311 - rgw: Object is deleted automatically if conditional PUT returns 412

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-01-21 14:49:47 -08:00
Yehuda Sadeh
7a0932fe02 s3tests: test list bucket versions
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:08:29 -08:00
Yehuda Sadeh
460e3f1f1e s3tests: concurrent object versioning tests
test concurrent creation and removal

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:08:29 -08:00
Yehuda Sadeh
5be9694863 s3tests: versioned get_acl, put_acl
modify a specific version acl, check this specific version, check it
didn't affect object head acls.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
e109c5c7b7 s3test: add a new multi obj delete test
Validate creation of delete marker.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
53d5857e83 s3test: add versioned multi delete
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
ec6ea92443 test: fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
67bb05c87e s3test: test copy version
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
b4d406bcf7 test_s3: add versioned multipart upload test
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
3c297038f6 s3tests: more object versioning tests
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
a3ce6be105 s3tests: object version removal and delete marker test
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
5d67c7f5df s3tests: extend object versions test
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:54 -08:00
Yehuda Sadeh
0f0e833801 s3tests: add test_versioning_obj_create_read_remove()
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:53 -08:00
Yehuda Sadeh
032f41f6f3 functional: add test_versioning_bucket_create_suspend()
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:53 -08:00
Yehuda Sadeh
d4e9e40792 teardown: clean object versions
also don't set acls on buckets, objects before removing, no need for
that.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-19 15:07:53 -08:00
Yehuda Sadeh
2f279540f9 s3tests: send raw http requests to test redirects
Since we fixed the rgw redirect code, it turns out that boto actually
follows on them. We just want to check if redirect is sent.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2015-01-13 16:46:33 -08:00
Andrew Gaul
c280ade220 Do not check error_code with empty content length
This matches test_bucket_create_bad_contentlength_negative.
2015-01-06 13:54:15 -08:00
Andrew Gaul
bb0a88fd1b Use unique name in starts with nonalpha test 2015-01-06 13:43:09 -08:00
Andrew Gaul
d978adbf2d Add test for aborting a bogus multi-part upload 2015-01-02 19:29:53 -08:00
Andrew Gaul
00f4ffed5a Ensure multi-delete removes keys 2014-12-31 15:50:14 -08:00
Andrew Gaul
2682a6a0eb Add test for keys with XML special characters 2014-12-30 15:55:35 -08:00
Andrew Gaul
ffdad9e22f Add test for querying location 2014-12-29 16:15:41 -08:00
Andrew Gaul
45c53c462d Handle idempotent and BucketAlreadyOwnedByYou
AWS S3 has two behaviors for recreating a bucket depending if you use
the us-standard or another region:

>>> bucket = conn.create_bucket('gaul-default', location=Location.DEFAULT)
>>> bucket = conn.create_bucket('gaul-default', location=Location.DEFAULT)
>>> bucket = conn.create_bucket('gaul-uswest', location=Location.USWest)
>>> bucket = conn.create_bucket('gaul-uswest', location=Location.USWest)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 499, in create_bucket
    response.status, response.reason, body)
boto.exception.S3CreateError: S3CreateError: 409 Conflict
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>BucketAlreadyOwnedByYou</Code><Message>Your previous request to create the named bucket succeeded and you already own it.</Message><BucketName>gaul-uswest</BucketName><RequestId>24B6DC3170365CD7</RequestId><HostId>hUynMTyqc9WZFxAJ2RFK6P7BqmmeHHlMl9xL2NOy56xBUnOZCAlHqGvtMeGeAfVs</HostId></Error>

Additional discussion:

https://issues.apache.org/jira/browse/JCLOUDS-334
2014-12-22 21:05:27 -08:00
Andrew Gaul
9b17da16cd Test to find mismatched MD5
Also clarify the invalid digest test.
2014-12-22 20:26:39 -08:00
Andrew Gaul
673f7d7c44 Test empty and small multi-part uploads 2014-12-22 20:17:35 -08:00
Andrew Gaul
ca2c0dc283 Correctly generate non-mod 1024 parts in generator
Also move implementation to utils and add unit tests.
2014-12-22 20:16:25 -08:00
Yehuda Sadeh
8f6c109882 test_object_create_bad_authorization_incorrect: fixes
The test should expect BadSignature. Also, provide a key that does not
already exist on aws.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-12-16 12:56:53 -08:00
Josh Durgin
d50dfe8fa3 Merge pull request #26 from ceph/wip-10066
fixes/improves weird hashing issues on readwrite tests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2014-12-15 23:17:51 -08:00
Alfredo Deza
abc9e67120 Revert "test_bucket_create_exists should fail on recreate"
This reverts commit c82649b635.

The suite does not support duality in behaviors (e.g.
US Standard vs. Regional behavior) so we adhere to US
Standard only.

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-15 10:41:59 -05:00
Ray Lv
085277338f s3tests: add regression test for bug #10311 - rgw: Object is deleted automatically if conditional PUT returns 412
Test for bug #10311

Signed-off-by: Ray Lv <raylv@yahoo-inc.com>
2014-12-15 16:47:34 +08:00
Alfredo Deza
a983b6b670 fix broken/commented tests
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-12 13:53:43 -05:00
Alfredo Deza
cad6547eb0 use the new helpers for realistic files
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-12 13:53:19 -05:00
Alfredo Deza
b4794edbb3 always seek back to 0, remove chunk usage
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-12 13:52:43 -05:00
Yehuda Sadeh
c6043faa30 Merge pull request #23 from xylv/wip-test-issue-8562
s3tests: add conditional put test

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2014-12-12 10:42:54 -08:00
Alfredo Deza
3390afc4a5 adding a new FileValidator
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-12 11:12:10 -05:00
Alfredo Deza
8ee55a32f5 new tests for the new pseudo-random content files
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-12 11:09:27 -05:00
Alfredo Deza
fc92b4925d adding a proof for the realistic bugs
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-12-10 16:55:54 -05:00
Alfredo Deza
f07b5206a6 Merge pull request #19 from andrewgaul/query-string-authorization-expiration
Test query string authorization expiration
2014-12-04 09:43:25 -05:00
Alfredo Deza
7b5a61fa7f Merge pull request #17 from andrewgaul/delete-object-non-existent-bucket
Test delete object on non-existent bucket
2014-12-04 09:37:11 -05:00
Alfredo Deza
405d96c379 Merge pull request #24 from andrewgaul/list-bucket
Improve list bucket invalid and bad auth tests
2014-12-04 09:32:08 -05:00
Alfredo Deza
81dc4f4b24 Merge pull request #9 from andrewgaul/bucket-create-exists
test_bucket_create_exists should fail on recreate
2014-12-04 09:28:31 -05:00
Andrew Gaul
5a995a9e14 Improve list bucket invalid and bad auth tests
Explicitly test invalid access keys and valid access keys but invalid
secret keys.  Also disable anonymous list bucket test for AWS.
radosgw uses this for connectivity testing but AWS does not allow it:

http://ceph.com/docs/master/radosgw/config/#verify-the-runtime
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTServiceGET.html
2014-12-03 20:42:23 -08:00
Ray Lv
3e1e2ee438 s3tests: add conditional put test
Test for issue #8562

Signed-off-by: Ray Lv <raylv@yahoo-inc.com>
2014-11-25 14:51:38 +08:00
Josh Durgin
70db3015b9 Merge pull request #22 from ceph/wip-configurable-copy
test_s3: add is_slow_backend

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-10-20 13:45:39 -07:00
Yehuda Sadeh
f4de9f7b42 test_s3: fix test_list_multipart_upload()
Test was calling _multipart_upload() with extra useless param, this
broke when we added a new param to the function.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-10-14 14:16:30 -07:00
Luis Pabón
be982f624e Multipart test with 10k small objects.
Test detects that the server returns the correct error
code

Signed-off-by: Luis Pabón <lpabon@redhat.com>
2014-10-13 10:10:27 -04:00
Yehuda Sadeh
97beb9c816 test_s3: add is_slow_backend
for slow ec region copy

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-10-03 15:09:27 -07:00
Yehuda Sadeh
d2c0ccd7b5 readwrite: dump a more meaningful message on md5 read error
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-08-26 14:06:25 -07:00
Andrew Gaul
6aac86205a Test query string authorization expiration 2014-08-23 18:36:41 -07:00
Andrew Gaul
4adf87c7e3 Test that put object returns correct ETag 2014-08-22 11:13:57 -07:00
Andrew Gaul
870c19a44b Test delete object on non-existent bucket 2014-08-22 11:06:04 -07:00
Andrew Gaul
b81a718794 Test half-open range requests 2014-08-12 12:26:27 -07:00
Andrew Gaul
74a08169b1 Disable retries to test short writes
Previously test_object_create_bad_contentlength_mismatch_above failed
with:

Traceback (most recent call last):
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/gaul/work/s3-tests/s3tests/functional/test_headers.py", line 343, in test_object_create_bad_contentlength_mismatch_above
    e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, content)
  File "/home/gaul/work/s3-tests/s3tests/functional/utils.py", line 11, in assert_raises
    callableObj(*args, **kwargs)
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/s3/key.py", line 1379, in set_contents_from_string
    encrypt_key=encrypt_key)
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/s3/key.py", line 1246, in set_contents_from_file
    chunked_transfer=chunked_transfer, size=size)
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/s3/key.py", line 725, in send_file
    chunked_transfer=chunked_transfer, size=size)
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/s3/key.py", line 914, in _send_file_internal
    query_args=query_args
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/s3/connection.py", line 658, in make_request
    retry_handler=retry_handler
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/connection.py", line 1048, in make_request
    retry_handler=retry_handler)
  File "/home/gaul/work/s3-tests/virtualenv/local/lib/python2.7/site-packages/boto/connection.py", line 1004, in _mexe
    raise BotoServerError(response.status, response.reason, body)
BotoServerError: BotoServerError: 400 Bad Request
2014-08-01 21:47:13 -07:00
Andrew Gaul
3d3a4ce8fe Call get_new_bucket_name in long bucket name tests
Previously test_bucket_create_naming_good_long_251 and
test_bucket_list_long_name could fail with BucketAlreadyOwnedByYou.
2014-08-01 16:43:50 -07:00