Commit graph

668 commits

Author SHA1 Message Date
Soumya Koduri
86bfe40bd3 Fix create_bucket tests as per new bucket naming conventions
As per amazon s3 spec -
https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-s3-bucket-naming-requirements.html

The s3 bucket names should not contain upper case letters or underscore.
Name cannot end with dash or have consecutive periods, or dashes adjacent to periods
Name length shouldn't exceed 63 characters.

These rules are being enforced via
- https://github.com/ceph/ceph/pull/26787

This patch is to update the respective testcases as well.

Note: check_invalid_bucket_name() seems to have been broken. It should
try to create bucket using invalid name. Have addressed it in this
patch. Because of this few testcases (which were incorrectly passing
earlier) are failing in validate_bucket_name. Have marked them
'fails_on_rgw' as done for test_bucket_create_naming_bad_punctuation

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2019-07-02 12:52:42 +05:30
albIN7
4c335b7aea Added testcases for listobjectsv2
Signed-off-by: Albin Antony <aantony@redhat.com>
2019-07-01 16:18:51 -04:00
Casey Bodley
c3425c7f00 test versioned copy with urlencoded keys
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-06-05 16:13:09 -04:00
Matt Benjamin
d7a20d0607 boto{2,3}: rm functional.test_s3.test_lifecycle_rules_conflict
The assumption that there may be only one rule per prefix has
been removed.  The rules specifically tested here--without tag
filters--do overlap but are not in conflict.

I am proposing to remove altogether rather than writing new
deconfliction logic.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2019-05-24 12:33:55 -04:00
Ali Maredia
9d07887011 remove boto2 tests already passing in boto3
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2019-05-02 11:27:20 -04:00
Ali Maredia
20c742db49 boto3: tag boto3 tests that are failing on ssl as 'fails_on_rgw'
Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit 5db9eb059d)
2019-04-23 11:14:33 -04:00
Casey Bodley
0454190382 boto3: verify certificates for ssl connections
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0e04dcd6aa)
2019-04-23 11:14:33 -04:00
Casey Bodley
a864020eac boto3: _get_post_url() uses config endpoint
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7f49adda30)
2019-04-23 11:14:33 -04:00
Casey Bodley
b1d6dc927c boto3: use https:// for secure endpoints
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit ac18365f75)
2019-04-23 11:14:33 -04:00
Casey Bodley
bce59979ca boto3: use getboolean() for is_secure
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 774d40d114)
2019-04-23 11:14:33 -04:00
Matt Benjamin
7c067c346b boto3_s3tests: add tests for lifecycle expiration header
The response to a successful PUT or HEAD (or GET) of/on
an object matching any enabled lifecycle expiration rule should
include an x-amz-expiration header for the object.  The
x-amz-expiration header consists of an expiry-date, rule-id tuple
indicating the earliest matching rule and the corresponding
expiration date for the object.

Also, while at it, add test for lifecycle expiration rule with
'Days' : 0, which should both apply and...work.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 2d12e98ce0)
2019-04-23 11:14:33 -04:00
Ali Maredia
baec994fc6 boto3: Foundation laid for boto3 tests
Added sample config file for boto3 and vstart.sh

Modified setup.py, requirements.txt, and README

Added an rgw_interactive.py to use interactively
with vstart.sh and python -i

Ported 400+ tests over to boto3 from functional/test_s3.py

Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit 67f4f5d356)
2019-04-23 11:08:04 -04:00
Kefu Chai
80c3f690ce bootstrap: add libffi-dev for gevent
because gevent 1.3.2 requires cffi>=1.11.5, and cffi requires
libffi-dev to build.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit a2b3e4ef77)
2018-05-31 00:30:53 +08:00
Casey Bodley
24ab8ecf07
Merge pull request #192 from joke-lee/cors_option_header_check
rgw: test cors option request with Access-Control-Request-Headers

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-04-23 09:01:53 -04:00
Casey Bodley
ab0acde0f2
Merge pull request #220 from joke-lee/max-keys-test
enable test for https://github.com/ceph/ceph/pull/21285

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-04-12 11:18:14 -04:00
Ali Maredia
7ccdadb37a
Merge pull request #182 from gaul/versioning
Add missing versioning tag
2018-04-10 02:20:30 +08:00
yuliyang
abbd9f17e6 enable test for https://github.com/ceph/ceph/pull/21285
Signed-off-by: yuliyang <yuliyang@cmss.chinamobile.com>
2018-04-09 12:19:31 -04:00
Ali Maredia
f783f4294b
Merge pull request #217 from cbodley/wip-unpin-requests
unpin the requests library version
2018-04-06 00:47:10 +08:00
Casey Bodley
8c67aafcf2 requirements: unpin 'requests' from old v0.14
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-03-27 13:45:11 -04:00
Casey Bodley
23c99318e6 cors: allow None to match missing headers
this is apparently needed to run against newer versions of the requests
library

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-03-27 13:45:11 -04:00
Casey Bodley
bb65f38ad9
Merge pull request #209 from fangyuxiangGL/compression
compression: add case to download range from big object

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-02-16 11:34:00 -05:00
Ali Maredia
5fb7f7a709
Merge pull request #205 from malc0lm/multipartcopy-no-range
Add test for muiltpart copy without 'x-amz-copy-source-range' header
2018-02-13 14:03:15 -05:00
fang yuxiang
e93443ac07 compression: add case to download range from big object
Signed-off-by: fang yuxiang <fang.yuxiang@eisoo.com>
2018-02-07 16:16:39 +08:00
Casey Bodley
8ef3465f0e
Merge pull request #191 from theanalyst/policy-conditionals
test bucket policy with conditionals 

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-01-25 11:06:06 -05:00
Malcolm Lee
800a9a758f Add test for muiltpart copy without 'x-amz-copy-source-range' header 2018-01-24 13:56:02 +08:00
Abhishek Lekshmanan
5da742036e policy: refactor make_json_policy to use the new Policy classes
since make_json_policy is redundantly doing most of the same work,
refactor to use the new policy classes instead

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:33 +01:00
Abhishek Lekshmanan
47e3772e0b policy: test existingobject tag on get acl
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:33 +01:00
Abhishek Lekshmanan
a7e619b7ca policy: test put object with reqeust object tag 2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
ebb31e02f9 policy: test policy with sse-c encryption
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
afa108d742 typo fix for pub_obj_acl
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
fc0e55f7e1 policy: add S3 tests for grants conditionals
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
26adb84b30 move ListBucket to new policy class 2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
ecea466666 policy: add a new policy class to make creation of complex policies
Since policies can have allow/deny rules etc

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
ef827b745e policy: test put object with canned acl
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
35c9fcd6ae policy: test metadta copy key
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
35cd3f77af policy: test put obj using copy conditionals
Test s3:x-amz-copy-source conditional on put obj with x-amz-copy-source

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
1012710ce7 policy: test for acl grants conditionals on put bucket acls
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:32 +01:00
Abhishek Lekshmanan
006f9d5f46 policy: add tests for put bucket acl with canned acl conditionals
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:31 +01:00
Abhishek Lekshmanan
b1e1ba0edf s3: policy tests for ListBucket with prefix, delimiter & max-keys
Allow conditionals on ListBucket similar to s3 docs which allow for
these clauses

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:31 +01:00
Abhishek Lekshmanan
3e650c5e6e policy: test put object tagging with conditionals
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:31 +01:00
Abhishek Lekshmanan
3511eabc5c policy: test get object tagging with conditionals
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:56:26 +01:00
Abhishek Lekshmanan
5167af2e73 add policy tests for get object with conditionals
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:55:02 +01:00
Abhishek Lekshmanan
5ae2337747 add bucket-policy attr to all the policy tests
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:52:49 +01:00
Abhishek Lekshmanan
fe35325ab8 test_s3: modify make_json_policy to support conditionals
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:52:49 +01:00
Abhishek Lekshmanan
eee2d9a82c bucket policy: improve the helper functions used for tagging upwards
- Improve `make_json_policy` to support conditionals in policy
- Move the helper functions for creating policies up so that bucket
  policy tests can use these
- add bucket-policy attribute to the tagging tests using policy

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-01-17 10:52:49 +01:00
Matt Benjamin
6bef6ad125
Merge pull request #204 from linuxbox2/wip-post-ctype
Add test case for POST with no Content-Type header
2018-01-04 13:41:44 -05:00
Matt Benjamin
f5ad2bfaee Add test case for POST with no Content-Type header
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2017-12-20 16:55:39 -05:00
Casey Bodley
f318716c63
Merge pull request #199 from cfanz/cfanz-version-id-wip
Add test case for getting version-id when upload objects  bucket

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-27 14:57:26 -05:00
Xinying Song
9506ac220f Add test case for getting version-id when upload objects to bucket
For default-bucket and versioning-suspended-bucket, no version-id should return when upload.
For versioning-enabled-bucket, an non-empty version-id should return and equal to what
bucket list shows.

Signed-off-by: Xinying Song <songxinying@cloudin.cn>
2017-11-22 09:26:13 +08:00
Casey Bodley
92c4ac5a59
Merge pull request #196 from ZVampirEM77/wip-lc-typos
Fix a typos for lifecycle test case

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-09 09:02:57 -05:00