diff --git a/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md b/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md index 7704b7fc4e..674146f52f 100644 --- a/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md +++ b/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md @@ -145,7 +145,7 @@ export PYTHONWARNINGS="ignore" ### 5) Run a Test (Inside The Tester Pod) To run a test, from noobaa working directory: ```bash -S3TEST_CONF=src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf ./src/test/system_tests/ceph_s3_tests/s3-tests/virtualenv/bin/nosetests +S3TEST_CONF=$PWD/src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf tox -c src/test/system_tests/ceph_s3_tests/s3_tests/tox.ini $PWD/src/test/system_tests/ceph_s3_tests/s3-tests/ ``` This should run the test on the noobaa deployment we've set up. @@ -173,34 +173,24 @@ Since the file `./src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/fun 5) Build the tester image again, deploy noobaa, and run the test (repeat the steps starting from 'Build Core And Tester Images (Noobaa-Core)' above). #### B. Temporary change - this change will be saved in the file inside the container, useful when you need a small change. -1) Find container ID: `minikube ssh docker container ls | grep test` -2) Enter container as the root user: `minikube ssh "docker container exec -it -u 0 /bin/bash"` -3) Change file permissions: `chmod 777 ./src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3.py` - +You can edit the test by going to the test file and editing the test function. e.g. if you are working on test `s3tests_boto3.functional.test_s3:test_set_bucket_tagging` then you should `vi ./src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3.py` and search for the function `test_set_bucket_tagging`. ## Compare to AWS Response (Inside Tester Pod) Prerequisites: Following the 'Run a Single Ceph S3 Test' steps until 'Deploy The Tester Deployment (Noobaa-Core Tab)'. In this section we will do some manual changes that will allow you to check AWS response for a specific test (tests that do not use neither ACL nor tenant group). -1) Find container ID: `minikube ssh docker container ls | grep test` -2) Enter container as the root user: `minikube ssh "docker container exec -it -u 0 /bin/bash"` (We use root user because we want to change content of read-only files). -3) Go to noobaa working directory: `cd /root/node_modules/noobaa-core/` -4) Run the script that will create the necessary accounts in noobaa and update the Ceph S3 tests config file accordingly: `node ./src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_setup.js` -5) Change the configuration file to match AWS details, `vi ./src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_setup.js`: +1) copy configuration file: + ```bash + cp .src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf .src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf.aws + ``` +2) Change the new configuration file to match AWS details, `vi .src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf.aws`: * host = s3.amazonaws.com * bucket prefix = choose_name (for example: `bucket prefix = foo-bucket` you will need to manually delete it from AWS, and its name will be `foo-bucket1`, it adds suffix of 1). * access_key, secret_key appears 3 times each in the file. -6) Since we changed the name of the bucket and we will manually delete the bucket we will remove it from the code (add comments lines) by `vi ./src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/__init__.py` inside `teardown` and `setup` functions: -```python -# nuke_prefixed_buckets(prefix=prefix) -# nuke_prefixed_buckets(prefix=prefix, client=alt_client) -# nuke_prefixed_buckets(prefix=prefix, client=tenant_client) -``` -7) Run a single test: +3) Running tests with the new configuration files will run against AWS: ```bash -S3TEST_CONF=src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf ./src/test/system_tests/ceph_s3_tests/s3-tests/virtualenv/bin/nosetests +S3TEST_CONF=src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf.aws tox -c src/test/system_tests/ceph_s3_tests/s3_tests/tox.ini $PWD/src/test/system_tests/ceph_s3_tests/s3-tests/ ``` -8) Manually delete the bucket that was created in you AWS account (for example `foo-bucket1`). ## Examples ## Running All the Tests @@ -225,38 +215,47 @@ CEPH TEST SUMMARY: Suite contains 812, ran 387 tests, Passed: 387, Skipped: 0, F Following the 'Run a Single Ceph S3 Test' steps. ### 1) Test Pass -For example: `s3tests_boto3.functional.test_s3:test_basic_key_count` +For example: `s3tests_boto3/functional/test_s3.py::test_basic_key_count` ``` -bash-4.4$ S3TEST_CONF=src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf ./src/test/system_tests/ceph_s3_tests/s3-tests/virtualenv/bin/nosetests s3tests_boto3.functional.test_s3:test_basic_key_count -. ----------------------------------------------------------------------- -Ran 1 test in 4.914s +bash-4.4$ S3TEST_CONF=$PWD/src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf tox -c src/test/system_tests/ceph_s3_tests/s3-tests/tox.ini -- --disable-pytest-warnings $PWD/src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3.py::test_account_usage + +... + +====================================================================================== 1 passed, 1 warning in 15.71s ======================================================================================= +_________________________________________________________________________________________________ summary __________________________________________________________________________________________________ + py: commands succeeded + congratulations :) + -OK ``` ### 2) Test Fail -For example: `s3tests_boto3.functional.test_s3:test_account_usage` +For example: `s3tests_boto3/functional/test_s3::test_account_usage.py` ``` -bash-4.4$ S3TEST_CONF=src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf ./src/test/system_tests/ceph_s3_tests/s3-tests/virtualenv/bin/nosetests s3tests_boto3.functional.test_s3:test_account_usage -E -====================================================================== -ERROR: s3tests_boto3.functional.test_s3.test_account_usage ----------------------------------------------------------------------- -Traceback (most recent call last): - File "/root/node_modules/noobaa-core/src/test/system_tests/ceph_s3_tests/s3-tests/virtualenv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest - self.test(*self.arg) - File "/root/node_modules/noobaa-core/src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3.py", line 1325, in test_account_usage - summary = parsed['Summary'] -KeyError: 'Summary' --------------------- >> begin captured logging << -------------------- +bash-4.4$ S3TEST_CONF=$PWD/src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf tox -c src/test/system_tests/ceph_s3_tests/s3-tests/tox.ini src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3. + ... - + +================================================================================================= FAILURES ================================================================================================= +____________________________________________________________________________________________ test_account_usage ____________________________________________________________________________________________ + ... ---------------------- >> end captured logging << --------------------- ----------------------------------------------------------------------- -Ran 1 test in 0.391s +------------------------------------------------------------------------------------------ Captured stdout setup ------------------------------------------------------------------------------------------- + +... + +----------------------------------------------------------------------------------------- Captured stdout teardown ----------------------------------------------------------------------------------------- + +... + +========================================================================================= short test summary info ========================================================================================== +FAILED s3tests_boto3/functional/test_s3.py::test_account_usage - KeyError: 'Summary' +====================================================================================== 1 failed, 2 warnings in 4.01s ======================================================================================= +ERROR: InvocationError for command '/root/node_modules/noobaa-core/src/test/system_tests/ceph_s3_tests/s3-tests/.tox/py/bin/pytest --disable-pytest-warnings /root/node_modules/noobaa-core/src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3.py::test_account_usage' (exited with code 1) +_________________________________________________________________________________________________ summary __________________________________________________________________________________________________ +ERROR: py: commands failed + FAILED (errors=1) @@ -266,7 +265,7 @@ If you will use a test name that not written in the defined structure (as mentio For example: `s3tests_boto3.functional.test_s3.test_account_usage` instead of `s3tests_boto3.functional.test_s3:test_account_usage` (notice the use of the sign `:` before test). ``` -bash-4.4$ S3TEST_CONF=src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf ./src/test/system_tests/ceph_s3_tests/s3-tests/virtualenv/bin/nosetests s3tests_boto3.functional.test_s3.test_account_usage +bash-4.4$ S3TEST_CONF=$PWD/src/test/system_tests/ceph_s3_tests/test_ceph_s3_config.conf .tox -c src/test/system_tests/ceph_s3_tests/s3-tests/tox.ini src/test/system_tests/ceph_s3_tests/s3-tests/s3tests_boto3/functional/test_s3.py::test_account_usage ---------------------------------------------------------------------- Ran 0 tests in 0.389s diff --git a/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_list_single_test.txt b/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_list_single_test.txt index 23552f9899..62eeb97e3d 100644 --- a/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_list_single_test.txt +++ b/docs/dev_guide/ceph_s3_tests/ceph_s3_tests_list_single_test.txt @@ -1,484 +1,484 @@ Test Name For Running a Single Test Last Update: 07-2022 -s3tests.functional.test_headers:test_bucket_create_bad_contentlength_empty -s3tests.functional.test_headers:test_bucket_create_contentlength_none -s3tests.functional.test_headers:test_object_create_bad_authorization_none -s3tests.functional.test_headers:test_bucket_create_bad_contentlength_none -s3tests.functional.test_headers:test_bucket_create_bad_authorization_empty -s3tests.functional.test_headers:test_bucket_create_bad_authorization_none -s3tests.functional.test_headers:test_object_create_bad_authorization_incorrect_aws2 -s3tests.functional.test_headers:test_object_create_bad_authorization_invalid_aws2 -s3tests.functional.test_headers:test_bucket_create_bad_authorization_invalid_aws2 -s3tests.functional.test_headers:test_bucket_create_bad_date_none_aws2 -s3tests.functional.test_headers:test_object_create_bad_date_none_aws2 -s3tests.functional.test_headers:test_object_create_bad_md5_invalid_garbage_aws4 -s3tests.functional.test_headers:test_object_create_bad_contentlength_mismatch_below_aws4 -s3tests.functional.test_headers:test_object_create_bad_authorization_incorrect_aws4 -s3tests.functional.test_headers:test_object_create_bad_ua_empty_aws4 -s3tests.functional.test_headers:test_object_create_bad_authorization_invalid_aws4 -s3tests.functional.test_headers:test_object_acl_create_contentlength_none -s3tests.functional.test_headers:test_object_create_bad_ua_none_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_invalid_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_invalid_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_empty_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_empty_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_none_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_before_today_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_none_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_before_today_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_after_today_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_after_today_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_before_epoch_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_before_epoch_aws4 -s3tests.functional.test_headers:test_object_create_bad_date_after_end_aws4 -s3tests.functional.test_headers:test_object_create_missing_signed_custom_header_aws4 -s3tests.functional.test_headers:test_object_create_missing_signed_header_aws4 -s3tests.functional.test_headers:test_object_create_bad_amz_date_after_end_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_authorization_invalid_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_ua_empty_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_ua_none_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_date_invalid_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_amz_date_invalid_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_date_empty_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_amz_date_empty_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_date_none_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_date_before_today_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_amz_date_none_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_amz_date_before_today_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_date_after_today_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_amz_date_after_today_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_date_before_epoch_aws4 -s3tests.functional.test_headers:test_bucket_create_bad_amz_date_before_epoch_aws4 -s3tests.functional.test_s3:test_bucket_create_naming_bad_punctuation -s3tests.functional.test_s3:test_object_storage_class -s3tests.functional.test_s3:test_object_storage_class_multipart -s3tests.functional.test_s3:test_object_modify_storage_class -s3tests.functional.test_s3:test_object_modify_storage_class_multipart -s3tests.functional.test_s3:test_object_storage_class_copy_multipart -s3tests.functional.test_s3:test_object_storage_class_copy -s3tests.functional.test_s3:test_atomic_write_bucket_gone -s3tests.functional.test_utils:test_generate -s3tests_boto3.functional.test_headers:test_object_create_bad_md5_invalid_short -s3tests_boto3.functional.test_headers:test_object_create_bad_md5_empty -s3tests_boto3.functional.test_headers:test_object_create_bad_expect_empty -s3tests_boto3.functional.test_headers:test_object_create_bad_expect_mismatch -s3tests.functional.test_s3:test_atomic_dual_conditional_write_1mb -s3tests_boto3.functional.test_headers:test_object_create_bad_md5_none -s3tests_boto3.functional.test_headers:test_object_create_bad_expect_none -s3tests_boto3.functional.test_headers:test_object_create_bad_contentlength_empty -s3tests_boto3.functional.test_headers:test_object_create_bad_contentlength_negative -s3tests_boto3.functional.test_headers:test_object_create_bad_contenttype_invalid -s3tests_boto3.functional.test_headers:test_object_create_bad_contenttype_empty -s3tests_boto3.functional.test_headers:test_object_create_bad_contenttype_none -s3tests_boto3.functional.test_headers:test_bucket_create_contentlength_none -s3tests_boto3.functional.test_headers:test_object_acl_create_contentlength_none -s3tests_boto3.functional.test_headers:test_bucket_create_bad_expect_empty -s3tests_boto3.functional.test_headers:test_bucket_create_bad_contentlength_empty -s3tests_boto3.functional.test_headers:test_bucket_create_bad_contentlength_negative -s3tests_boto3.functional.test_headers:test_bucket_create_bad_contentlength_none -s3tests_boto3.functional.test_headers:test_object_create_bad_md5_invalid_garbage_aws2 -s3tests_boto3.functional.test_headers:test_object_create_bad_ua_empty_aws2 -s3tests_boto3.functional.test_headers:test_object_create_bad_ua_none_aws2 -s3tests_boto3.functional.test_headers:test_object_create_bad_date_before_today_aws2 -s3tests_boto3.functional.test_headers:test_object_create_bad_date_after_end_aws2 -s3tests_boto3.functional.test_headers:test_bucket_create_bad_ua_empty_aws2 -s3tests_boto3.functional.test_headers:test_object_create_bad_md5_bad -s3tests_boto3.functional.test_headers:test_bucket_create_bad_ua_none_aws2 -s3tests_boto3.functional.test_headers:test_bucket_create_bad_date_before_today_aws2 -s3tests_boto3.functional.test_headers:test_bucket_create_bad_date_after_today_aws2 -s3tests_boto3.functional.test_iam:test_put_user_policy_invalid_user -s3tests_boto3.functional.test_iam:test_put_user_policy -s3tests_boto3.functional.test_iam:test_put_user_policy_parameter_limit -s3tests_boto3.functional.test_iam:test_put_user_policy_invalid_element -s3tests_boto3.functional.test_iam:test_put_existing_user_policy -s3tests_boto3.functional.test_iam:test_list_user_policy_invalid_user -s3tests_boto3.functional.test_iam:test_get_user_policy -s3tests_boto3.functional.test_iam:test_list_user_policy -s3tests_boto3.functional.test_iam:test_get_user_policy_invalid_user -s3tests_boto3.functional.test_iam:test_get_user_policy_invalid_policy_name -s3tests_boto3.functional.test_iam:test_get_deleted_user_policy -s3tests_boto3.functional.test_iam:test_delete_user_policy_invalid_policy_name -s3tests_boto3.functional.test_iam:test_get_user_policy_from_multiple_policies -s3tests_boto3.functional.test_iam:test_delete_user_policy -s3tests_boto3.functional.test_iam:test_delete_user_policy_invalid_user -s3tests_boto3.functional.test_iam:test_delete_user_policy_from_multiple_policies -s3tests_boto3.functional.test_iam:test_allow_bucket_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_deny_bucket_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_allow_object_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_deny_object_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_allow_multipart_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_deny_multipart_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_allow_tagging_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_deny_tagging_actions_in_user_policy -s3tests_boto3.functional.test_iam:test_verify_conflicting_user_policy_statements -s3tests_boto3.functional.test_iam:test_verify_conflicting_user_policies -s3tests_boto3.functional.test_iam:test_verify_allow_iam_actions -s3tests_boto3.functional.test_s3:test_bucket_list_empty -s3tests_boto3.functional.test_s3:test_bucket_list_distinct -s3tests_boto3.functional.test_s3:test_bucket_list_many -s3tests_boto3.functional.test_s3:test_bucket_listv2_many -s3tests_boto3.functional.test_s3:test_basic_key_count -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_basic -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_basic -s3tests_boto3.functional.test_s3:test_bucket_listv2_encoding_basic -s3tests_boto3.functional.test_s3:test_bucket_list_encoding_basic -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_prefix_ends_with_delimiter -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_prefix -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_alt -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_alt -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_prefix_underscore -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_percentage -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_percentage -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_whitespace -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_whitespace -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_dot -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_empty -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_dot -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_empty -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_none -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_none -s3tests_boto3.functional.test_s3:test_bucket_listv2_fetchowner_notempty -s3tests_boto3.functional.test_s3:test_bucket_listv2_fetchowner_defaultempty -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_not_exist -s3tests_boto3.functional.test_s3:test_bucket_listv2_delimiter_not_exist -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_basic -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_basic -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_alt -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_alt -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_empty -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_empty -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_none -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_none -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_not_exist -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_not_exist -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_delimiter_basic -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_delimiter_basic -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_delimiter_alt -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_delimiter_alt -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_delimiter_prefix_not_exist -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_delimiter_prefix_not_exist -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_delimiter_delimiter_not_exist -s3tests_boto3.functional.test_s3:test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist -s3tests_boto3.functional.test_s3:test_bucket_list_maxkeys_one -s3tests_boto3.functional.test_s3:test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist -s3tests_boto3.functional.test_s3:test_bucket_listv2_maxkeys_one -s3tests_boto3.functional.test_s3:test_bucket_list_maxkeys_zero -s3tests_boto3.functional.test_s3:test_bucket_list_maxkeys_none -s3tests_boto3.functional.test_s3:test_bucket_listv2_maxkeys_none -s3tests_boto3.functional.test_s3:test_account_usage -s3tests_boto3.functional.test_bucket_policy_put_obj_s3_noenc:test_head_bucket_usage -s3tests_boto3.functional.test_s3:test_bucket_list_maxkeys_invalid -s3tests_boto3.functional.test_s3:test_bucket_list_marker_empty -s3tests_boto3.functional.test_s3:test_bucket_list_marker_none -s3tests_boto3.functional.test_s3:test_bucket_listv2_both_continuationtoken_startafter -s3tests_boto3.functional.test_s3:test_bucket_list_marker_unreadable -s3tests_boto3.functional.test_s3:test_bucket_list_marker_not_in_list -s3tests_boto3.functional.test_s3:test_bucket_listv2_startafter_not_in_list -s3tests_boto3.functional.test_s3:test_bucket_list_marker_after_list -s3tests_boto3.functional.test_s3:test_bucket_listv2_startafter_after_list -s3tests_boto3.functional.test_s3:test_bucket_notexist -s3tests_boto3.functional.test_s3:test_bucket_list_return_data -s3tests_boto3.functional.test_s3:test_bucketv2_notexist -s3tests_boto3.functional.test_s3:test_bucket_delete_notexist -s3tests_boto3.functional.test_s3:test_bucket_delete_nonempty -s3tests_boto3.functional.test_s3:test_object_write_to_nonexist_bucket -s3tests_boto3.functional.test_s3:test_bucket_concurrent_set_canned_acl -s3tests_boto3.functional.test_s3:test_bucket_create_delete -s3tests_boto3.functional.test_s3:test_object_read_not_exist -s3tests_boto3.functional.test_s3:test_object_requestid_matches_header_on_error -s3tests_boto3.functional.test_s3:test_multi_object_delete -s3tests_boto3.functional.test_s3:test_object_head_zero_bytes -s3tests_boto3.functional.test_s3:test_object_write_check_etag -s3tests_boto3.functional.test_s3:test_object_write_read_update_read_delete -s3tests_boto3.functional.test_s3:test_object_set_get_metadata_none_to_good -s3tests_boto3.functional.test_s3:test_object_set_get_metadata_none_to_empty -s3tests_boto3.functional.test_s3:test_object_set_get_metadata_overwrite_to_empty -s3tests_boto3.functional.test_s3:test_object_metadata_replaced_on_put -s3tests_boto3.functional.test_s3:test_object_write_file -s3tests_boto3.functional.test_s3:test_post_object_invalid_signature -s3tests_boto3.functional.test_s3:test_post_object_invalid_access_key -s3tests_boto3.functional.test_s3:test_post_object_missing_policy_condition -s3tests_boto3.functional.test_s3:test_post_object_expired_policy -s3tests_boto3.functional.test_s3:test_post_object_request_missing_policy_specified_field -s3tests_boto3.functional.test_s3:test_post_object_invalid_request_field_value -s3tests_boto3.functional.test_s3:test_get_object_ifmatch_good -s3tests_boto3.functional.test_s3:test_get_object_ifmatch_failed -s3tests_boto3.functional.test_s3:test_get_object_ifnonematch_good -s3tests_boto3.functional.test_s3:test_get_object_ifnonematch_failed -s3tests_boto3.functional.test_s3:test_get_object_ifmodifiedsince_good -s3tests_boto3.functional.test_s3:test_get_object_ifmodifiedsince_failed -s3tests_boto3.functional.test_s3:test_get_object_ifunmodifiedsince_good -s3tests_boto3.functional.test_s3:test_get_object_ifunmodifiedsince_failed -s3tests_boto3.functional.test_s3:test_put_object_ifmatch_good -s3tests_boto3.functional.test_s3:test_put_object_ifmatch_failed -s3tests_boto3.functional.test_s3:test_put_object_ifmatch_overwrite_existed_good -s3tests_boto3.functional.test_s3:test_put_object_ifnonmatch_good -s3tests_boto3.functional.test_s3:test_put_object_ifnonmatch_failed -s3tests_boto3.functional.test_s3:test_put_object_ifnonmatch_nonexisted_good -s3tests_boto3.functional.test_s3:test_bucket_head_notexist -s3tests_boto3.functional.test_s3:test_bucket_head -s3tests_boto3.functional.test_s3:test_put_object_ifnonmatch_overwrite_existed_failed -s3tests_boto3.functional.test_s3:test_object_raw_authenticated -s3tests_boto3.functional.test_s3:test_object_raw_authenticated_object_acl -s3tests_boto3.functional.test_s3:test_object_raw_authenticated_bucket_gone -s3tests_boto3.functional.test_s3:test_object_raw_authenticated_object_gone -s3tests_boto3.functional.test_s3:test_object_anon_put -s3tests_boto3.functional.test_s3:test_object_put_authenticated -s3tests_boto3.functional.test_s3:test_bucket_create_naming_bad_starts_nonalpha -s3tests_boto3.functional.test_s3:test_bucket_create_naming_bad_short_one -s3tests_boto3.functional.test_s3:test_bucket_create_naming_bad_short_two -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_long_60 -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_long_61 -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_long_62 -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_long_63 -s3tests_boto3.functional.test_s3:test_bucket_create_naming_bad_ip -s3tests_boto3.functional.test_s3:test_bucket_create_exists -s3tests_boto3.functional.test_s3:test_bucket_get_location -s3tests_boto3.functional.test_s3:test_bucket_create_exists_nonowner -s3tests_boto3.functional.test_s3:test_bucket_recreate_overwrite_acl -s3tests_boto3.functional.test_s3:test_bucket_recreate_new_acl -s3tests_boto3.functional.test_s3:test_bucket_list_delimiter_not_skip_special -s3tests_boto3.functional.test_s3:test_buckets_create_then_list -s3tests_boto3.functional.test_s3:test_buckets_list_ctime -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_starts_alpha -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_starts_digit -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_contains_period -s3tests_boto3.functional.test_s3:test_bucket_create_naming_good_contains_hyphen -s3tests_boto3.functional.test_s3:test_bucket_create_special_key_names -s3tests_boto3.functional.test_s3:test_bucket_list_special_prefix -s3tests_boto3.functional.test_s3:test_object_copy_zero_size -s3tests_boto3.functional.test_s3:test_object_copy_same_bucket -s3tests_boto3.functional.test_s3:test_object_copy_verify_contenttype -s3tests_boto3.functional.test_s3:test_object_copy_diff_bucket -s3tests_boto3.functional.test_s3:test_object_copy_canned_acl -s3tests_boto3.functional.test_s3:test_object_copy_retaining_metadata -s3tests_boto3.functional.test_s3:test_object_copy_bucket_not_found -s3tests_boto3.functional.test_s3:test_object_copy_replacing_metadata -s3tests_boto3.functional.test_s3:test_object_copy_key_not_found -s3tests_boto3.functional.test_s3:test_object_copy_versioned_url_encoding -s3tests_boto3.functional.test_s3:test_object_copy_versioned_bucket -s3tests_boto3.functional.test_s3:test_multipart_copy_small -s3tests_boto3.functional.test_s3:test_multipart_copy_without_range -s3tests_boto3.functional.test_s3:test_object_copy_versioning_multipart_upload -s3tests_boto3.functional.test_s3:test_multipart_copy_special_names -s3tests_boto3.functional.test_s3:test_list_multipart_upload -s3tests_boto3.functional.test_s3:test_multipart_copy_versioned -s3tests_boto3.functional.test_s3:test_multipart_copy_multiple_sizes -s3tests_boto3.functional.test_s3:test_set_bucket_tagging -s3tests_boto3.functional.test_s3:test_list_multipart_upload_owner -s3tests_boto3.functional.test_s3:test_atomic_read_1mb -s3tests_boto3.functional.test_s3:test_atomic_write_1mb -s3tests_boto3.functional.test_s3:test_atomic_read_4mb -s3tests_boto3.functional.test_s3:test_atomic_read_8mb -s3tests_boto3.functional.test_s3:test_atomic_write_4mb -s3tests_boto3.functional.test_s3:test_atomic_dual_write_1mb -s3tests_boto3.functional.test_s3:test_atomic_write_8mb -s3tests_boto3.functional.test_s3:test_atomic_dual_write_4mb -s3tests_boto3.functional.test_s3:test_atomic_dual_write_8mb -s3tests_boto3.functional.test_s3:test_multi_object_delete_key_limit -s3tests_boto3.functional.test_s3:test_atomic_write_bucket_gone -s3tests_boto3.functional.test_s3:test_atomic_conditional_write_1mb -s3tests_boto3.functional.test_s3:test_atomic_dual_conditional_write_1mb -s3tests_boto3.functional.test_s3:test_atomic_multipart_upload_write -s3tests_boto3.functional.test_s3:test_ranged_request_response_code -s3tests_boto3.functional.test_s3:test_ranged_request_skip_leading_bytes_response_code -s3tests_boto3.functional.test_s3:test_ranged_request_return_trailing_bytes_response_code -s3tests_boto3.functional.test_s3:test_ranged_request_invalid_range -s3tests_boto3.functional.test_s3:test_ranged_request_empty_object -s3tests_boto3.functional.test_s3:test_versioning_bucket_create_suspend -s3tests_boto3.functional.test_s3:test_versioning_obj_plain_null_version_removal -s3tests_boto3.functional.test_s3:test_versioning_obj_create_read_remove_head -s3tests_boto3.functional.test_s3:test_versioning_obj_plain_null_version_overwrite -s3tests_boto3.functional.test_s3:test_versioning_obj_create_read_remove -s3tests_boto3.functional.test_s3:test_versioning_obj_plain_null_version_overwrite_suspended -s3tests_boto3.functional.test_s3:test_versioning_obj_suspend_versions -s3tests_boto3.functional.test_s3:test_versioning_obj_create_versions_remove_all -s3tests_boto3.functional.test_s3:test_versioning_obj_list_marker -s3tests_boto3.functional.test_s3:test_versioning_obj_create_overwrite_multipart -s3tests_boto3.functional.test_s3:test_versioning_copy_obj_version -s3tests_boto3.functional.test_s3:test_ranged_big_request_response_code -s3tests_boto3.functional.test_s3:test_versioning_multi_object_delete -s3tests_boto3.functional.test_s3:test_versioning_multi_object_delete_with_marker_create -s3tests_boto3.functional.test_s3:test_versioning_multi_object_delete_with_marker -s3tests_boto3.functional.test_s3:test_versioning_obj_create_versions_remove_special_names -s3tests_boto3.functional.test_s3:test_lifecycle_set -s3tests_boto3.functional.test_s3:test_versioned_concurrent_object_create_and_remove -s3tests_boto3.functional.test_s3:test_lifecycle_expiration -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_versioning_enabled -s3tests_boto3.functional.test_s3:test_versioned_concurrent_object_create_concurrent_remove -s3tests_boto3.functional.test_s3:test_lifecycle_set_date -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_noncur_tags1 -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_header_put -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_header_head -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_header_tags_head -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_header_and_tags_head -s3tests_boto3.functional.test_s3:test_lifecycle_transition_set_invalid_date -s3tests_boto3.functional.test_s3:test_lifecycle_transition -s3tests_boto3.functional.test_s3:test_lifecycle_transition_single_rule_multi_trans -s3tests_boto3.functional.test_s3:test_lifecycle_noncur_transition -s3tests_boto3.functional.test_s3:test_lifecycle_cloud_transition -s3tests_boto3.functional.test_s3:test_lifecycle_cloud_multiple_transition -s3tests_boto3.functional.test_s3:test_lifecycle_noncur_cloud_transition -s3tests_boto3.functional.test_s3:test_lifecycle_cloud_transition_large_obj -s3tests_boto3.functional.test_s3:test_encrypted_transfer_1b -s3tests_boto3.functional.test_s3:test_encrypted_transfer_1kb -s3tests_boto3.functional.test_s3:test_encrypted_transfer_1MB -s3tests_boto3.functional.test_s3:test_encrypted_transfer_13b -s3tests_boto3.functional.test_s3:test_encryption_sse_c_method_head -s3tests_boto3.functional.test_s3:test_encryption_sse_c_present -s3tests_boto3.functional.test_s3:test_encryption_sse_c_other_key -s3tests_boto3.functional.test_s3:test_encryption_sse_c_invalid_md5 -s3tests_boto3.functional.test_s3:test_encryption_sse_c_no_md5 -s3tests_boto3.functional.test_s3:test_encryption_sse_c_no_key -s3tests_boto3.functional.test_s3:test_encryption_key_no_sse_c -s3tests_boto3.functional.test_s3:test_encryption_sse_c_multipart_invalid_chunks_2 -s3tests_boto3.functional.test_s3:test_sse_kms_method_head -s3tests_boto3.functional.test_s3:test_sse_kms_present -s3tests_boto3.functional.test_s3:test_sse_kms_no_key -s3tests_boto3.functional.test_s3:test_sse_kms_not_declared -s3tests_boto3.functional.test_s3:test_sse_kms_multipart_invalid_chunks_1 -s3tests_boto3.functional.test_s3:test_sse_kms_multipart_invalid_chunks_2 -s3tests_boto3.functional.test_s3:test_sse_kms_transfer_1b -s3tests_boto3.functional.test_s3:test_sse_kms_transfer_1kb -s3tests_boto3.functional.test_s3:test_sse_kms_transfer_1MB -s3tests_boto3.functional.test_s3:test_sse_kms_transfer_13b -s3tests_boto3.functional.test_s3:test_sse_kms_read_declare -s3tests_boto3.functional.test_s3:test_bucket_policy -s3tests_boto3.functional.test_s3:test_bucketv2_policy -s3tests_boto3.functional.test_s3:test_bucket_policy_another_bucket -s3tests_boto3.functional.test_s3:test_bucketv2_policy_another_bucket -s3tests_boto3.functional.test_s3:test_get_obj_tagging -s3tests_boto3.functional.test_s3:test_get_obj_head_tagging -s3tests_boto3.functional.test_s3:test_put_max_tags -s3tests_boto3.functional.test_s3:test_put_excess_tags -s3tests_boto3.functional.test_s3:test_put_max_kvsize_tags -s3tests_boto3.functional.test_s3:test_put_excess_key_tags -s3tests_boto3.functional.test_s3:test_put_excess_val_tags -s3tests_boto3.functional.test_s3:test_put_modify_tags -s3tests_boto3.functional.test_s3:test_put_delete_tags -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_tags1 -s3tests_boto3.functional.test_s3:test_versioning_bucket_atomic_upload_return_version_id -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_tags2 -s3tests_boto3.functional.test_s3:test_lifecycle_expiration_versioned_tags2 -s3tests_boto3.functional.test_s3:test_put_obj_enc_conflict_c_s3 -s3tests_boto3.functional.test_s3:test_put_obj_enc_conflict_c_kms -s3tests_boto3.functional.test_s3:test_put_obj_enc_conflict_s3_kms -s3tests_boto3.functional.test_s3:test_put_obj_enc_conflict_bad_enc_kms -s3tests_boto3.functional.test_s3:test_versioning_bucket_multipart_upload_return_version_id -s3tests_boto3.functional.test_s3:test_object_lock_multi_delete_object_with_retention -s3tests_boto3.functional.test_s3:test_object_lock_put_legal_hold -s3tests_boto3.functional.test_s3:test_object_lock_get_legal_hold -s3tests_boto3.functional.test_s3:test_bucket_policy_put_obj_kms_s3 -s3tests_boto3.functional.test_s3:test_object_lock_changing_mode_from_governance_with_bypass -s3tests_boto3.functional.test_s3:test_object_lock_changing_mode_from_governance_without_bypass -s3tests_boto3.functional.test_s3:test_object_lock_changing_mode_from_compliance -s3tests_boto3.functional.test_s3:test_copy_object_ifmatch_good -s3tests_boto3.functional.test_s3:test_copy_object_ifmatch_failed -s3tests_boto3.functional.test_s3:test_copy_object_ifnonematch_good -s3tests_boto3.functional.test_s3:test_bucket_policy_put_obj_s3_kms -s3tests_boto3.functional.test_s3:test_copy_object_ifnonematch_failed -s3tests_boto3.functional.test_s3:test_object_read_unreadable -s3tests_boto3.functional.test_s3:test_get_bucket_policy_status -s3tests_boto3.functional.test_s3:test_user_policy -s3tests_boto3.functional.test_s3:test_bucket_policy_put_obj_kms_noenc -s3tests_boto3.functional.test_s3:test_get_public_acl_bucket_policy_status -s3tests_boto3.functional.test_s3:test_bucket_policy_put_obj_s3_noenc -s3tests_boto3.functional.test_s3:test_get_authpublic_acl_bucket_policy_status -s3tests_boto3.functional.test_s3:test_get_publicpolicy_acl_bucket_policy_status -s3tests_boto3.functional.test_s3:test_get_nonpublicpolicy_acl_bucket_policy_status -s3tests_boto3.functional.test_s3:test_get_default_public_block -s3tests_boto3.functional.test_s3:test_get_nonpublicpolicy_deny_bucket_policy_status -s3tests_boto3.functional.test_s3:test_put_public_block -s3tests_boto3.functional.test_s3:test_block_public_put_bucket_acls -s3tests_boto3.functional.test_s3:test_block_public_object_canned_acls -s3tests_boto3.functional.test_s3:test_ignore_public_acls -s3tests_boto3.functional.test_s3:test_block_public_policy -s3tests_boto3.functional.test_s3:test_put_bucket_encryption_kms -s3tests_boto3.functional.test_s3:test_put_bucket_encryption_s3 -s3tests_boto3.functional.test_s3:test_get_bucket_encryption_s3 -s3tests_boto3.functional.test_s3:test_get_bucket_encryption_kms -s3tests_boto3.functional.test_s3:test_delete_bucket_encryption_s3 -s3tests_boto3.functional.test_s3:test_delete_bucket_encryption_kms -s3tests_boto3.functional.test_s3:test_sse_s3_default_upload_1b -s3tests_boto3.functional.test_s3:test_sse_s3_default_upload_1kb -s3tests_boto3.functional.test_s3:test_sse_s3_default_upload_1mb -s3tests_boto3.functional.test_s3:test_sse_s3_default_upload_8mb -s3tests_boto3.functional.test_s3:test_sse_kms_default_upload_1b -s3tests_boto3.functional.test_s3:test_sse_kms_default_upload_1mb -s3tests_boto3.functional.test_s3:test_sse_kms_default_upload_1kb -s3tests_boto3.functional.test_s3:test_sse_kms_default_upload_8mb -s3tests_boto3.functional.test_s3:test_sse_kms_default_post_object_authenticated_request -s3tests_boto3.functional.test_s3:test_sse_s3_default_method_head -s3tests_boto3.functional.test_s3:test_sse_s3_default_post_object_authenticated_request -s3tests_boto3.functional.test_s3:test_sse_s3_encrypted_upload_1b -s3tests_boto3.functional.test_s3select:test_generate_where_clause -s3tests_boto3.functional.test_s3:test_sse_s3_encrypted_upload_1kb -s3tests_boto3.functional.test_s3:test_sse_s3_encrypted_upload_1mb -s3tests_boto3.functional.test_s3:test_sse_s3_encrypted_upload_8mb -s3tests_boto3.functional.test_s3select:test_generate_projection -s3tests_boto3.functional.test_s3select:test_count_operation -s3tests_boto3.functional.test_s3select:test_column_sum_min_max -s3tests_boto3.functional.test_s3:test_sse_s3_default_multipart_upload -s3tests_boto3.functional.test_s3select:test_nullif_expressions -s3tests_boto3.functional.test_s3select:test_nulliftrue_expressions -s3tests_boto3.functional.test_s3select:test_lowerupper_expressions -s3tests_boto3.functional.test_s3select:test_in_expressions -s3tests_boto3.functional.test_s3select:test_is_not_null_expressions -s3tests_boto3.functional.test_s3select:test_true_false_in_expressions -s3tests_boto3.functional.test_s3select:test_like_expressions -s3tests_boto3.functional.test_s3select:test_truefalselike_expressions -s3tests_boto3.functional.test_s3select:test_alias -s3tests_boto3.functional.test_s3select:test_complex_expressions -s3tests_boto3.functional.test_s3select:test_datetime -s3tests_boto3.functional.test_s3select:test_alias_cyclic_refernce -s3tests_boto3.functional.test_s3select:test_csv_parser -s3tests_boto3.functional.test_s3select:test_csv_definition -s3tests_boto3.functional.test_s3select:test_true_false_datetime -s3tests_boto3.functional.test_s3select:test_schema_definition -s3tests_boto3.functional.test_s3select:test_when_then_else_expressions -s3tests_boto3.functional.test_s3select:test_coalesce_expressions -s3tests_boto3.functional.test_s3select:test_trim_expressions -s3tests_boto3.functional.test_s3select:test_cast_expressions -s3tests_boto3.functional.test_s3select:test_version -s3tests_boto3.functional.test_s3select:test_truefalse_trim_expressions -s3tests_boto3.functional.test_s3select:test_escape_expressions -s3tests_boto3.functional.test_s3select:test_bool_cast_expressions -s3tests_boto3.functional.test_s3select:test_case_value_expressions -s3tests_boto3.functional.test_s3select:test_progress_expressions -s3tests_boto3.functional.test_s3select:test_output_serial_expressions -s3tests_boto3.functional.test_sts:test_get_session_token -s3tests_boto3.functional.test_sts:test_get_session_token_permanent_creds_denied -s3tests_boto3.functional.test_sts:test_assume_role_allow -s3tests_boto3.functional.test_sts:test_assume_role_deny -s3tests_boto3.functional.test_sts:test_assume_role_creds_expiry -s3tests_boto3.functional.test_sts:test_assume_role_deny_head_nonexistent -s3tests_boto3.functional.test_sts:test_assume_role_allow_head_nonexistent -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity -s3tests_boto3.functional.test_sts:test_session_policy_check_on_different_buckets -s3tests_boto3.functional.test_sts:test_session_policy_check_on_same_bucket -s3tests_boto3.functional.test_sts:test_session_policy_check_put_obj_denial -s3tests_boto3.functional.test_sts:test_swapping_role_policy_and_session_policy -s3tests_boto3.functional.test_sts:test_session_policy_check_different_op_permissions -s3tests_boto3.functional.test_sts:test_session_policy_check_with_deny_effect -s3tests_boto3.functional.test_sts:test_session_policy_check_with_deny_on_same_op -s3tests_boto3.functional.test_sts:test_session_policy_bucket_policy_role_arn -s3tests_boto3.functional.test_sts:test_session_policy_copy_object -s3tests_boto3.functional.test_sts:test_session_policy_bucket_policy_session_arn -s3tests_boto3.functional.test_sts:test_session_policy_no_bucket_role_policy -s3tests_boto3.functional.test_sts:test_session_policy_bucket_policy_deny -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_with_sub -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_with_azp -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_with_principal_tag -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_with_request_tag -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_for_all_values -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_for_all_values_deny -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_tag_keys_trust_policy -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_resource_tag -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_tag_keys_role_policy -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_resource_tag_deny -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_wrong_resource_tag_deny -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_resource_tag_princ_tag -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_role_resource_tag -s3tests_boto3.functional.test_sts:test_assume_role_with_web_identity_resource_tag_copy_obj -s3tests_boto3.functional.test_utils:test_generate +s3tests/functional/test_headers.py::test_bucket_create_bad_contentlength_empty +s3tests/functional/test_headers.py::test_bucket_create_contentlength_none +s3tests/functional/test_headers.py::test_object_create_bad_authorization_none +s3tests/functional/test_headers.py::test_bucket_create_bad_contentlength_none +s3tests/functional/test_headers.py::test_bucket_create_bad_authorization_empty +s3tests/functional/test_headers.py::test_bucket_create_bad_authorization_none +s3tests/functional/test_headers.py::test_object_create_bad_authorization_incorrect_aws2 +s3tests/functional/test_headers.py::test_object_create_bad_authorization_invalid_aws2 +s3tests/functional/test_headers.py::test_bucket_create_bad_authorization_invalid_aws2 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_none_aws2 +s3tests/functional/test_headers.py::test_object_create_bad_date_none_aws2 +s3tests/functional/test_headers.py::test_object_create_bad_md5_invalid_garbage_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_contentlength_mismatch_below_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_authorization_incorrect_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_ua_empty_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_authorization_invalid_aws4 +s3tests/functional/test_headers.py::test_object_acl_create_contentlength_none +s3tests/functional/test_headers.py::test_object_create_bad_ua_none_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_invalid_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_invalid_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_empty_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_empty_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_none_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_before_today_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_none_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_before_today_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_after_today_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_after_today_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_before_epoch_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_before_epoch_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_date_after_end_aws4 +s3tests/functional/test_headers.py::test_object_create_missing_signed_custom_header_aws4 +s3tests/functional/test_headers.py::test_object_create_missing_signed_header_aws4 +s3tests/functional/test_headers.py::test_object_create_bad_amz_date_after_end_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_authorization_invalid_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_ua_empty_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_ua_none_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_invalid_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_amz_date_invalid_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_empty_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_amz_date_empty_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_none_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_before_today_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_amz_date_none_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_amz_date_before_today_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_after_today_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_amz_date_after_today_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_date_before_epoch_aws4 +s3tests/functional/test_headers.py::test_bucket_create_bad_amz_date_before_epoch_aws4 +s3tests/functional/test_s3.py::test_bucket_create_naming_bad_punctuation +s3tests/functional/test_s3.py::test_object_storage_class +s3tests/functional/test_s3.py::test_object_storage_class_multipart +s3tests/functional/test_s3.py::test_object_modify_storage_class +s3tests/functional/test_s3.py::test_object_modify_storage_class_multipart +s3tests/functional/test_s3.py::test_object_storage_class_copy_multipart +s3tests/functional/test_s3.py::test_object_storage_class_copy +s3tests/functional/test_s3.py::test_atomic_write_bucket_gone +s3tests/functional/test_utils.py::test_generate +s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_invalid_short +s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_empty +s3tests_boto3/functional/test_headers.py::test_object_create_bad_expect_empty +s3tests_boto3/functional/test_headers.py::test_object_create_bad_expect_mismatch +s3tests/functional/test_s3.py::test_atomic_dual_conditional_write_1mb +s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_none +s3tests_boto3/functional/test_headers.py::test_object_create_bad_expect_none +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contentlength_empty +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contentlength_negative +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contenttype_invalid +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contenttype_empty +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contenttype_none +s3tests_boto3/functional/test_headers.py::test_bucket_create_contentlength_none +s3tests_boto3/functional/test_headers.py::test_object_acl_create_contentlength_none +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_expect_empty +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_contentlength_empty +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_contentlength_negative +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_contentlength_none +s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_invalid_garbage_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_ua_empty_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_ua_none_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_before_today_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_after_end_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_ua_empty_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_bad +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_ua_none_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_before_today_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_after_today_aws2 +s3tests_boto3/functional/test_iam.py::test_put_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_put_user_policy +s3tests_boto3/functional/test_iam.py::test_put_user_policy_parameter_limit +s3tests_boto3/functional/test_iam.py::test_put_user_policy_invalid_element +s3tests_boto3/functional/test_iam.py::test_put_existing_user_policy +s3tests_boto3/functional/test_iam.py::test_list_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_get_user_policy +s3tests_boto3/functional/test_iam.py::test_list_user_policy +s3tests_boto3/functional/test_iam.py::test_get_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_get_user_policy_invalid_policy_name +s3tests_boto3/functional/test_iam.py::test_get_deleted_user_policy +s3tests_boto3/functional/test_iam.py::test_delete_user_policy_invalid_policy_name +s3tests_boto3/functional/test_iam.py::test_get_user_policy_from_multiple_policies +s3tests_boto3/functional/test_iam.py::test_delete_user_policy +s3tests_boto3/functional/test_iam.py::test_delete_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_delete_user_policy_from_multiple_policies +s3tests_boto3/functional/test_iam.py::test_allow_bucket_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_bucket_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_allow_object_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_object_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_allow_multipart_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_multipart_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_allow_tagging_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_tagging_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_verify_conflicting_user_policy_statements +s3tests_boto3/functional/test_iam.py::test_verify_conflicting_user_policies +s3tests_boto3/functional/test_iam.py::test_verify_allow_iam_actions +s3tests_boto3/functional/test_s3.py::test_bucket_list_empty +s3tests_boto3/functional/test_s3.py::test_bucket_list_distinct +s3tests_boto3/functional/test_s3.py::test_bucket_list_many +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_many +s3tests_boto3/functional/test_s3.py::test_basic_key_count +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_basic +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_basic +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_encoding_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_encoding_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix_ends_with_delimiter +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_alt +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_alt +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix_underscore +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_percentage +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_percentage +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_whitespace +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_whitespace +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_dot +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_empty +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_dot +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_empty +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_none +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_none +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_notempty +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_defaultempty +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_alt +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_alt +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_empty +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_empty +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_none +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_none +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_alt +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_alt +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_delimiter_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_one +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_one +s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_zero +s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_none +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_none +s3tests_boto3/functional/test_s3.py::test_account_usage +s3tests_boto3/functional/test_bucket_policy_put_obj_s3_noenc.py::test_head_bucket_usage +s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_invalid +s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_empty +s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_none +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_both_continuationtoken_startafter +s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_unreadable +s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_not_in_list +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_not_in_list +s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_after_list +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_after_list +s3tests_boto3/functional/test_s3.py::test_bucket_notexist +s3tests_boto3/functional/test_s3.py::test_bucket_list_return_data +s3tests_boto3/functional/test_s3.py::test_bucketv2_notexist +s3tests_boto3/functional/test_s3.py::test_bucket_delete_notexist +s3tests_boto3/functional/test_s3.py::test_bucket_delete_nonempty +s3tests_boto3/functional/test_s3.py::test_object_write_to_nonexist_bucket +s3tests_boto3/functional/test_s3.py::test_bucket_concurrent_set_canned_acl +s3tests_boto3/functional/test_s3.py::test_bucket_create_delete +s3tests_boto3/functional/test_s3.py::test_object_read_not_exist +s3tests_boto3/functional/test_s3.py::test_object_requestid_matches_header_on_error +s3tests_boto3/functional/test_s3.py::test_multi_object_delete +s3tests_boto3/functional/test_s3.py::test_object_head_zero_bytes +s3tests_boto3/functional/test_s3.py::test_object_write_check_etag +s3tests_boto3/functional/test_s3.py::test_object_write_read_update_read_delete +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_none_to_good +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_none_to_empty +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_overwrite_to_empty +s3tests_boto3/functional/test_s3.py::test_object_metadata_replaced_on_put +s3tests_boto3/functional/test_s3.py::test_object_write_file +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_signature +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_access_key +s3tests_boto3/functional/test_s3.py::test_post_object_missing_policy_condition +s3tests_boto3/functional/test_s3.py::test_post_object_expired_policy +s3tests_boto3/functional/test_s3.py::test_post_object_request_missing_policy_specified_field +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_request_field_value +s3tests_boto3/functional/test_s3.py::test_get_object_ifmatch_good +s3tests_boto3/functional/test_s3.py::test_get_object_ifmatch_failed +s3tests_boto3/functional/test_s3.py::test_get_object_ifnonematch_good +s3tests_boto3/functional/test_s3.py::test_get_object_ifnonematch_failed +s3tests_boto3/functional/test_s3.py::test_get_object_ifmodifiedsince_good +s3tests_boto3/functional/test_s3.py::test_get_object_ifmodifiedsince_failed +s3tests_boto3/functional/test_s3.py::test_get_object_ifunmodifiedsince_good +s3tests_boto3/functional/test_s3.py::test_get_object_ifunmodifiedsince_failed +s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_good +s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_failed +s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_overwrite_existed_good +s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_good +s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_failed +s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_nonexisted_good +s3tests_boto3/functional/test_s3.py::test_bucket_head_notexist +s3tests_boto3/functional/test_s3.py::test_bucket_head +s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_overwrite_existed_failed +s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated +s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_acl +s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_bucket_gone +s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_gone +s3tests_boto3/functional/test_s3.py::test_object_anon_put +s3tests_boto3/functional/test_s3.py::test_object_put_authenticated +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_starts_nonalpha +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_short_one +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_short_two +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_60 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_61 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_62 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_63 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_ip +s3tests_boto3/functional/test_s3.py::test_bucket_create_exists +s3tests_boto3/functional/test_s3.py::test_bucket_get_location +s3tests_boto3/functional/test_s3.py::test_bucket_create_exists_nonowner +s3tests_boto3/functional/test_s3.py::test_bucket_recreate_overwrite_acl +s3tests_boto3/functional/test_s3.py::test_bucket_recreate_new_acl +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_skip_special +s3tests_boto3/functional/test_s3.py::test_buckets_create_then_list +s3tests_boto3/functional/test_s3.py::test_buckets_list_ctime +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_starts_alpha +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_starts_digit +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_contains_period +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_contains_hyphen +s3tests_boto3/functional/test_s3.py::test_bucket_create_special_key_names +s3tests_boto3/functional/test_s3.py::test_bucket_list_special_prefix +s3tests_boto3/functional/test_s3.py::test_object_copy_zero_size +s3tests_boto3/functional/test_s3.py::test_object_copy_same_bucket +s3tests_boto3/functional/test_s3.py::test_object_copy_verify_contenttype +s3tests_boto3/functional/test_s3.py::test_object_copy_diff_bucket +s3tests_boto3/functional/test_s3.py::test_object_copy_canned_acl +s3tests_boto3/functional/test_s3.py::test_object_copy_retaining_metadata +s3tests_boto3/functional/test_s3.py::test_object_copy_bucket_not_found +s3tests_boto3/functional/test_s3.py::test_object_copy_replacing_metadata +s3tests_boto3/functional/test_s3.py::test_object_copy_key_not_found +s3tests_boto3/functional/test_s3.py::test_object_copy_versioned_url_encoding +s3tests_boto3/functional/test_s3.py::test_object_copy_versioned_bucket +s3tests_boto3/functional/test_s3.py::test_multipart_copy_small +s3tests_boto3/functional/test_s3.py::test_multipart_copy_without_range +s3tests_boto3/functional/test_s3.py::test_object_copy_versioning_multipart_upload +s3tests_boto3/functional/test_s3.py::test_multipart_copy_special_names +s3tests_boto3/functional/test_s3.py::test_list_multipart_upload +s3tests_boto3/functional/test_s3.py::test_multipart_copy_versioned +s3tests_boto3/functional/test_s3.py::test_multipart_copy_multiple_sizes +s3tests_boto3/functional/test_s3.py::test_set_bucket_tagging +s3tests_boto3/functional/test_s3.py::test_list_multipart_upload_owner +s3tests_boto3/functional/test_s3.py::test_atomic_read_1mb +s3tests_boto3/functional/test_s3.py::test_atomic_write_1mb +s3tests_boto3/functional/test_s3.py::test_atomic_read_4mb +s3tests_boto3/functional/test_s3.py::test_atomic_read_8mb +s3tests_boto3/functional/test_s3.py::test_atomic_write_4mb +s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_1mb +s3tests_boto3/functional/test_s3.py::test_atomic_write_8mb +s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_4mb +s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_8mb +s3tests_boto3/functional/test_s3.py::test_multi_object_delete_key_limit +s3tests_boto3/functional/test_s3.py::test_atomic_write_bucket_gone +s3tests_boto3/functional/test_s3.py::test_atomic_conditional_write_1mb +s3tests_boto3/functional/test_s3.py::test_atomic_dual_conditional_write_1mb +s3tests_boto3/functional/test_s3.py::test_atomic_multipart_upload_write +s3tests_boto3/functional/test_s3.py::test_ranged_request_response_code +s3tests_boto3/functional/test_s3.py::test_ranged_request_skip_leading_bytes_response_code +s3tests_boto3/functional/test_s3.py::test_ranged_request_return_trailing_bytes_response_code +s3tests_boto3/functional/test_s3.py::test_ranged_request_invalid_range +s3tests_boto3/functional/test_s3.py::test_ranged_request_empty_object +s3tests_boto3/functional/test_s3.py::test_versioning_bucket_create_suspend +s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_removal +s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_read_remove_head +s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_overwrite +s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_read_remove +s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_overwrite_suspended +s3tests_boto3/functional/test_s3.py::test_versioning_obj_suspend_versions +s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_versions_remove_all +s3tests_boto3/functional/test_s3.py::test_versioning_obj_list_marker +s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_overwrite_multipart +s3tests_boto3/functional/test_s3.py::test_versioning_copy_obj_version +s3tests_boto3/functional/test_s3.py::test_ranged_big_request_response_code +s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete +s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete_with_marker_create +s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete_with_marker +s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_versions_remove_special_names +s3tests_boto3/functional/test_s3.py::test_lifecycle_set +s3tests_boto3/functional/test_s3.py::test_versioned_concurrent_object_create_and_remove +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_versioning_enabled +s3tests_boto3/functional/test_s3.py::test_versioned_concurrent_object_create_concurrent_remove +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_date +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_noncur_tags1 +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_put +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_head +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_tags_head +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_and_tags_head +s3tests_boto3/functional/test_s3.py::test_lifecycle_transition_set_invalid_date +s3tests_boto3/functional/test_s3.py::test_lifecycle_transition +s3tests_boto3/functional/test_s3.py::test_lifecycle_transition_single_rule_multi_trans +s3tests_boto3/functional/test_s3.py::test_lifecycle_noncur_transition +s3tests_boto3/functional/test_s3.py::test_lifecycle_cloud_transition +s3tests_boto3/functional/test_s3.py::test_lifecycle_cloud_multiple_transition +s3tests_boto3/functional/test_s3.py::test_lifecycle_noncur_cloud_transition +s3tests_boto3/functional/test_s3.py::test_lifecycle_cloud_transition_large_obj +s3tests_boto3/functional/test_s3.py::test_encrypted_transfer_1b +s3tests_boto3/functional/test_s3.py::test_encrypted_transfer_1kb +s3tests_boto3/functional/test_s3.py::test_encrypted_transfer_1MB +s3tests_boto3/functional/test_s3.py::test_encrypted_transfer_13b +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_method_head +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_present +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_other_key +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_invalid_md5 +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_no_md5 +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_no_key +s3tests_boto3/functional/test_s3.py::test_encryption_key_no_sse_c +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_invalid_chunks_2 +s3tests_boto3/functional/test_s3.py::test_sse_kms_method_head +s3tests_boto3/functional/test_s3.py::test_sse_kms_present +s3tests_boto3/functional/test_s3.py::test_sse_kms_no_key +s3tests_boto3/functional/test_s3.py::test_sse_kms_not_declared +s3tests_boto3/functional/test_s3.py::test_sse_kms_multipart_invalid_chunks_1 +s3tests_boto3/functional/test_s3.py::test_sse_kms_multipart_invalid_chunks_2 +s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_1b +s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_1kb +s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_1MB +s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_13b +s3tests_boto3/functional/test_s3.py::test_sse_kms_read_declare +s3tests_boto3/functional/test_s3.py::test_bucket_policy +s3tests_boto3/functional/test_s3.py::test_bucketv2_policy +s3tests_boto3/functional/test_s3.py::test_bucket_policy_another_bucket +s3tests_boto3/functional/test_s3.py::test_bucketv2_policy_another_bucket +s3tests_boto3/functional/test_s3.py::test_get_obj_tagging +s3tests_boto3/functional/test_s3.py::test_get_obj_head_tagging +s3tests_boto3/functional/test_s3.py::test_put_max_tags +s3tests_boto3/functional/test_s3.py::test_put_excess_tags +s3tests_boto3/functional/test_s3.py::test_put_max_kvsize_tags +s3tests_boto3/functional/test_s3.py::test_put_excess_key_tags +s3tests_boto3/functional/test_s3.py::test_put_excess_val_tags +s3tests_boto3/functional/test_s3.py::test_put_modify_tags +s3tests_boto3/functional/test_s3.py::test_put_delete_tags +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_tags1 +s3tests_boto3/functional/test_s3.py::test_versioning_bucket_atomic_upload_return_version_id +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_tags2 +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_versioned_tags2 +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_c_s3 +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_c_kms +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_s3_kms +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_bad_enc_kms +s3tests_boto3/functional/test_s3.py::test_versioning_bucket_multipart_upload_return_version_id +s3tests_boto3/functional/test_s3.py::test_object_lock_multi_delete_object_with_retention +s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold +s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_kms_s3 +s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_with_bypass +s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_without_bypass +s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_compliance +s3tests_boto3/functional/test_s3.py::test_copy_object_ifmatch_good +s3tests_boto3/functional/test_s3.py::test_copy_object_ifmatch_failed +s3tests_boto3/functional/test_s3.py::test_copy_object_ifnonematch_good +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_s3_kms +s3tests_boto3/functional/test_s3.py::test_copy_object_ifnonematch_failed +s3tests_boto3/functional/test_s3.py::test_object_read_unreadable +s3tests_boto3/functional/test_s3.py::test_get_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_user_policy +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_kms_noenc +s3tests_boto3/functional/test_s3.py::test_get_public_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_s3_noenc +s3tests_boto3/functional/test_s3.py::test_get_authpublic_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_publicpolicy_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_nonpublicpolicy_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_default_public_block +s3tests_boto3/functional/test_s3.py::test_get_nonpublicpolicy_deny_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_put_public_block +s3tests_boto3/functional/test_s3.py::test_block_public_put_bucket_acls +s3tests_boto3/functional/test_s3.py::test_block_public_object_canned_acls +s3tests_boto3/functional/test_s3.py::test_ignore_public_acls +s3tests_boto3/functional/test_s3.py::test_block_public_policy +s3tests_boto3/functional/test_s3.py::test_put_bucket_encryption_kms +s3tests_boto3/functional/test_s3.py::test_put_bucket_encryption_s3 +s3tests_boto3/functional/test_s3.py::test_get_bucket_encryption_s3 +s3tests_boto3/functional/test_s3.py::test_get_bucket_encryption_kms +s3tests_boto3/functional/test_s3.py::test_delete_bucket_encryption_s3 +s3tests_boto3/functional/test_s3.py::test_delete_bucket_encryption_kms +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_upload_1b +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_upload_1kb +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_upload_1mb +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_upload_8mb +s3tests_boto3/functional/test_s3.py::test_sse_kms_default_upload_1b +s3tests_boto3/functional/test_s3.py::test_sse_kms_default_upload_1mb +s3tests_boto3/functional/test_s3.py::test_sse_kms_default_upload_1kb +s3tests_boto3/functional/test_s3.py::test_sse_kms_default_upload_8mb +s3tests_boto3/functional/test_s3.py::test_sse_kms_default_post_object_authenticated_request +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_method_head +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_post_object_authenticated_request +s3tests_boto3/functional/test_s3.py::test_sse_s3_encrypted_upload_1b +s3tests_boto3/functional/test_s3select.py::test_generate_where_clause +s3tests_boto3/functional/test_s3.py::test_sse_s3_encrypted_upload_1kb +s3tests_boto3/functional/test_s3.py::test_sse_s3_encrypted_upload_1mb +s3tests_boto3/functional/test_s3.py::test_sse_s3_encrypted_upload_8mb +s3tests_boto3/functional/test_s3select.py::test_generate_projection +s3tests_boto3/functional/test_s3select.py::test_count_operation +s3tests_boto3/functional/test_s3select.py::test_column_sum_min_max +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_multipart_upload +s3tests_boto3/functional/test_s3select.py::test_nullif_expressions +s3tests_boto3/functional/test_s3select.py::test_nulliftrue_expressions +s3tests_boto3/functional/test_s3select.py::test_lowerupper_expressions +s3tests_boto3/functional/test_s3select.py::test_in_expressions +s3tests_boto3/functional/test_s3select.py::test_is_not_null_expressions +s3tests_boto3/functional/test_s3select.py::test_true_false_in_expressions +s3tests_boto3/functional/test_s3select.py::test_like_expressions +s3tests_boto3/functional/test_s3select.py::test_truefalselike_expressions +s3tests_boto3/functional/test_s3select.py::test_alias +s3tests_boto3/functional/test_s3select.py::test_complex_expressions +s3tests_boto3/functional/test_s3select.py::test_datetime +s3tests_boto3/functional/test_s3select.py::test_alias_cyclic_refernce +s3tests_boto3/functional/test_s3select.py::test_csv_parser +s3tests_boto3/functional/test_s3select.py::test_csv_definition +s3tests_boto3/functional/test_s3select.py::test_true_false_datetime +s3tests_boto3/functional/test_s3select.py::test_schema_definition +s3tests_boto3/functional/test_s3select.py::test_when_then_else_expressions +s3tests_boto3/functional/test_s3select.py::test_coalesce_expressions +s3tests_boto3/functional/test_s3select.py::test_trim_expressions +s3tests_boto3/functional/test_s3select.py::test_cast_expressions +s3tests_boto3/functional/test_s3select.py::test_version +s3tests_boto3/functional/test_s3select.py::test_truefalse_trim_expressions +s3tests_boto3/functional/test_s3select.py::test_escape_expressions +s3tests_boto3/functional/test_s3select.py::test_bool_cast_expressions +s3tests_boto3/functional/test_s3select.py::test_case_value_expressions +s3tests_boto3/functional/test_s3select.py::test_progress_expressions +s3tests_boto3/functional/test_s3select.py::test_output_serial_expressions +s3tests_boto3/functional/test_sts.py::test_get_session_token +s3tests_boto3/functional/test_sts.py::test_get_session_token_permanent_creds_denied +s3tests_boto3/functional/test_sts.py::test_assume_role_allow +s3tests_boto3/functional/test_sts.py::test_assume_role_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_creds_expiry +s3tests_boto3/functional/test_sts.py::test_assume_role_deny_head_nonexistent +s3tests_boto3/functional/test_sts.py::test_assume_role_allow_head_nonexistent +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity +s3tests_boto3/functional/test_sts.py::test_session_policy_check_on_different_buckets +s3tests_boto3/functional/test_sts.py::test_session_policy_check_on_same_bucket +s3tests_boto3/functional/test_sts.py::test_session_policy_check_put_obj_denial +s3tests_boto3/functional/test_sts.py::test_swapping_role_policy_and_session_policy +s3tests_boto3/functional/test_sts.py::test_session_policy_check_different_op_permissions +s3tests_boto3/functional/test_sts.py::test_session_policy_check_with_deny_effect +s3tests_boto3/functional/test_sts.py::test_session_policy_check_with_deny_on_same_op +s3tests_boto3/functional/test_sts.py::test_session_policy_bucket_policy_role_arn +s3tests_boto3/functional/test_sts.py::test_session_policy_copy_object +s3tests_boto3/functional/test_sts.py::test_session_policy_bucket_policy_session_arn +s3tests_boto3/functional/test_sts.py::test_session_policy_no_bucket_role_policy +s3tests_boto3/functional/test_sts.py::test_session_policy_bucket_policy_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_sub +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_azp +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_principal_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_request_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_for_all_values +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_for_all_values_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_tag_keys_trust_policy +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_tag_keys_role_policy +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_wrong_resource_tag_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag_princ_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_role_resource_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag_copy_obj +s3tests_boto3/functional/test_utils.py::test_generate diff --git a/src/deploy/NVA_build/Tests.Dockerfile b/src/deploy/NVA_build/Tests.Dockerfile index d9139aac88..9a57b20589 100644 --- a/src/deploy/NVA_build/Tests.Dockerfile +++ b/src/deploy/NVA_build/Tests.Dockerfile @@ -13,7 +13,8 @@ ENV TEST_CONTAINER true ############################################################## RUN dnf group install -y -q "Development Tools" && \ - dnf install -y -q --nogpgcheck vim \ + dnf install -y -q --nogpgcheck vim && \ + dnf install -y -q tox \ which python3-virtualenv python36-devel libevent-devel libffi-devel libxml2-devel libxslt-devel zlib-devel \ git && \ dnf clean all @@ -26,9 +27,10 @@ WORKDIR /root/node_modules/noobaa-core/ # Size: ~ 83.9 MB # ############################################################## -RUN ./src/test/system_tests/ceph_s3_tests/test_ceph_s3_deploy.sh $(pwd) -RUN cd ./src/test/system_tests/ceph_s3_tests/s3-tests/ && \ - ./bootstrap +RUN ./src/test/system_tests/ceph_s3_tests/test_ceph_s3_deploy.sh $(pwd) +RUN cd ./src/test/system_tests/ceph_s3_tests/ && \ + chgrp -R 0 s3-tests && \ + chmod -R g=u s3-tests ############################################################## # Layers: @@ -50,7 +52,7 @@ RUN mkdir -p /data && \ chmod -R g=u /data RUN mkdir -p /.npm && \ chgrp -R 0 /.npm && \ - chmod -R g=u /.npm + chmod -R g=u /.npm USER 10001:0 CMD ["./src/test/unit_tests/run_npm_test_on_test_container.sh"] diff --git a/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_black_list.txt b/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_black_list.txt index 6a4ee91db0..849f5a712d 100644 --- a/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_black_list.txt +++ b/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_black_list.txt @@ -1,295 +1,355 @@ -s3tests.functional.test_s3.test_100_continue -s3tests.functional.test_headers.test_object_create_date_and_amz_date -s3tests.functional.test_headers.test_object_create_amz_date_and_no_date -s3tests.functional.test_headers.test_object_create_bad_authorization_empty -s3tests.functional.test_headers.test_object_create_bad_contentlength_none -s3tests.functional.test_headers.test_object_create_bad_contentlength_mismatch_below_aws2 -s3tests.functional.test_s3.test_versioning_obj_read_not_exist_null -s3tests.functional.test_s3.test_append_normal_object -s3tests.functional.test_s3.test_append_object -s3tests.functional.test_s3.test_append_object_position_wrong -s3tests.functional.test_s3.test_logging_toggle -s3tests.functional.test_s3.test_encryption_sse_c_multipart_invalid_chunks_2 -s3tests.functional.test_s3.test_bucket_policy_different_tenant -s3tests.functional.test_s3.test_bucket_policy_set_condition_operator_end_with_IfExists -s3tests.functional.test_s3.test_bucket_policy_put_obj_enc -s3tests.functional.test_s3.test_bucket_policy_put_obj_request_obj_tag -s3tests.functional.test_s3_website.check_can_test_website -s3tests.functional.test_s3_website.test_website_nonexistant_bucket_s3 -s3tests.functional.test_s3_website.test_website_nonexistant_bucket_rgw -s3tests.functional.test_s3_website.test_website_public_bucket_list_public_index -s3tests.functional.test_s3_website.test_website_private_bucket_list_public_index -s3tests.functional.test_s3_website.test_website_public_bucket_list_empty -s3tests.functional.test_s3_website.test_website_private_bucket_list_empty -s3tests.functional.test_s3_website.test_website_private_bucket_list_private_index -s3tests.functional.test_s3_website.test_website_private_bucket_list_empty_missingerrordoc -s3tests.functional.test_s3_website.test_website_public_bucket_list_private_index -s3tests.functional.test_s3_website.test_website_public_bucket_list_private_index_missingerrordoc -s3tests.functional.test_s3_website.test_website_private_bucket_list_private_index_missingerrordoc -s3tests.functional.test_s3_website.test_website_public_bucket_list_empty_missingerrordoc -s3tests.functional.test_s3_website.test_website_private_bucket_list_empty_blockederrordoc -s3tests.functional.test_s3_website.test_website_public_bucket_list_empty_blockederrordoc -s3tests.functional.test_s3_website.test_website_public_bucket_list_private_index_blockederrordoc -s3tests.functional.test_s3_website.test_website_private_bucket_list_private_index_blockederrordoc -s3tests.functional.test_s3_website.test_website_private_bucket_list_empty_gooderrordoc -s3tests.functional.test_s3_website.test_website_public_bucket_list_empty_gooderrordoc -s3tests.functional.test_s3_website.test_website_public_bucket_list_private_index_gooderrordoc -s3tests.functional.test_s3_website.test_website_private_bucket_list_private_index_gooderrordoc -s3tests.functional.test_s3_website.test_website_bucket_private_redirectall_base -s3tests.functional.test_s3_website.test_website_bucket_private_redirectall_path -s3tests.functional.test_s3_website.test_website_bucket_private_redirectall_path_upgrade -s3tests.functional.test_s3_website.test_website_xredirect_nonwebsite -s3tests.functional.test_s3_website.test_website_xredirect_private_relative -s3tests.functional.test_s3_website.test_website_xredirect_public_abs -s3tests.functional.test_s3_website.test_website_xredirect_public_relative -s3tests.functional.test_s3_website -s3tests.fuzz.test.test_fuzzer.test_load_graph -s3tests.functional.test_s3_website.test_website_xredirect_private_abs -test_realistic.TestFileValidator.test_new_file_is_valid_on_several_calls -test_realistic.TestFileValidator.test_new_file_is_valid_when_size_is_1 -test_realistic.TestFileValidator.test_new_file_is_valid -test_realistic.TestFiles.test_random_file_valid -s3tests_boto3.functional.test_headers.test_object_create_bad_contentlength_none -s3tests_boto3.functional.test_headers.test_object_create_bad_contentlength_mismatch_abov -s3tests_boto3.functional.test_headers.test_object_create_bad_authorization_empty -s3tests_boto3.functional.test_headers.test_object_create_date_and_amz_date -s3tests_boto3.functional.test_headers.test_object_create_amz_date_and_no_date -s3tests_boto3.functional.test_headers.test_object_create_bad_authorization_none -s3tests_boto3.functional.test_headers.test_bucket_put_bad_canned_acl -s3tests_boto3.functional.test_headers.test_bucket_create_bad_expect_mismatch -s3tests_boto3.functional.test_headers.test_bucket_create_bad_authorization_none -s3tests_boto3.functional.test_headers.test_bucket_create_bad_authorization_empty -s3tests_boto3.functional.test_headers.test_object_create_bad_contentlength_mismatch_below_aws2 -s3tests_boto3.functional.test_headers.test_object_create_bad_authorization_incorrect_aws2 -s3tests_boto3.functional.test_headers.test_object_create_bad_authorization_invalid_aws2 -s3tests_boto3.functional.test_headers.test_object_create_bad_date_invalid_aws2 -s3tests_boto3.functional.test_headers.test_object_create_bad_date_empty_aws2 -s3tests_boto3.functional.test_headers.test_object_create_bad_date_none_aws2 -s3tests_boto3.functional.test_headers.test_object_create_bad_date_before_epoch_aws2 -s3tests_boto3.functional.test_headers.test_bucket_create_bad_authorization_invalid_aws2 -s3tests_boto3.functional.test_headers.test_bucket_create_bad_date_invalid_aws2 -s3tests_boto3.functional.test_headers.test_bucket_create_bad_date_none_aws2 -s3tests_boto3.functional.test_headers.test_bucket_create_bad_date_empty_aws2 -s3tests_boto3.functional.test_headers.test_bucket_create_bad_date_before_epoch_aws2 -s3tests.functional.test_headers.test_object_acl_create_contentlength_none -s3tests_boto3.functional.test_s3.test_bucket_listv2_delimiter_prefix -s3tests_boto3.functional.test_s3.test_bucket_listv2_delimiter_prefix_underscore -s3tests_boto3.functional.test_s3.test_bucket_list_delimiter_unreadable -s3tests_boto3.functional.test_s3.test_bucket_listv2_delimiter_unreadable -s3tests_boto3.functional.test_s3.test_bucket_listv2_fetchowner_empty -s3tests.functional.test_s3.test_encryption_sse_c_multipart_invalid_chunks_1 -s3tests_boto3.functional.test_s3.test_bucket_list_prefix_unreadable -s3tests_boto3.functional.test_s3.test_bucket_listv2_prefix_unreadable -s3tests_boto3.functional.test_s3.test_bucket_listv2_prefix_delimiter_delimiter_not_exist -s3tests_boto3.functional.test_s3.test_bucket_listv2_maxkeys_zero -s3tests_boto3.functional.test_s3.test_bucket_list_unordered -s3tests_boto3.functional.test_s3.test_bucket_listv2_unordered -s3tests_boto3.functional.test_s3.test_bucket_listv2_continuationtoken -s3tests_boto3.functional.test_s3.test_bucket_listv2_startafter_unreadable -s3tests_boto3.functional.test_s3.test_bucket_list_return_data_versioning -s3tests_boto3.functional.test_s3.test_bucket_list_objects_anonymous -s3tests_boto3.functional.test_s3.test_bucket_listv2_objects_anonymous -s3tests_boto3.functional.test_s3.test_object_write_cache_control -s3tests_boto3.functional.test_s3.test_object_write_expires -s3tests_boto3.functional.test_s3.test_multi_objectv2_delete -s3tests_boto3.functional.test_s3.test_object_set_get_unicode_metadata -s3tests_boto3.functional.test_s3.test_object_set_get_metadata_empty_to_unreadable_prefix -s3tests_boto3.functional.test_s3.test_object_set_get_non_utf8_metadata -s3tests_boto3.functional.test_s3.test_object_set_get_metadata_empty_to_unreadable_suffix -s3tests_boto3.functional.test_s3.test_object_set_get_metadata_empty_to_unreadable_infix -s3tests_boto3.functional.test_s3.test_object_set_get_metadata_overwrite_to_unreadable_prefix -s3tests_boto3.functional.test_s3.test_object_set_get_metadata_overwrite_to_unreadable_suffix -s3tests_boto3.functional.test_s3.test_object_set_get_metadata_overwrite_to_unreadable_infix -s3tests_boto3.functional.test_s3.test_post_object_anonymous_request -s3tests_boto3.functional.test_s3.test_post_object_authenticated_request -s3tests_boto3.functional.test_s3.test_post_object_authenticated_no_content_type -s3tests_boto3.functional.test_s3.test_post_object_set_success_code -s3tests_boto3.functional.test_s3.test_post_object_set_invalid_success_code -s3tests_boto3.functional.test_s3.test_post_object_upload_larger_than_chunk -s3tests_boto3.functional.test_s3.test_post_object_set_key_from_filename -s3tests_boto3.functional.test_s3.test_post_object_case_insensitive_condition_fields -s3tests_boto3.functional.test_s3.test_post_object_ignored_header -s3tests_boto3.functional.test_s3.test_post_object_escaped_field_values -s3tests_boto3.functional.test_s3.test_post_object_success_redirect_action -s3tests_boto3.functional.test_s3.test_post_object_invalid_date_format -s3tests_boto3.functional.test_s3.test_post_object_no_key_specified -s3tests_boto3.functional.test_s3.test_post_object_missing_signature -s3tests_boto3.functional.test_s3.test_post_object_user_specified_header -s3tests_boto3.functional.test_s3.test_post_object_condition_is_case_sensitive -s3tests_boto3.functional.test_s3.test_post_object_expires_is_case_sensitive -s3tests_boto3.functional.test_s3.test_post_object_missing_expires_condition -s3tests_boto3.functional.test_s3.test_post_object_missing_conditions_list -s3tests_boto3.functional.test_s3.test_post_object_upload_size_limit_exceeded -s3tests_boto3.functional.test_s3.test_post_object_missing_content_length_argument -s3tests_boto3.functional.test_s3.test_post_object_invalid_content_length_argument -s3tests_boto3.functional.test_s3.test_post_object_upload_size_below_minimum -s3tests_boto3.functional.test_s3.test_post_object_empty_conditions -s3tests_boto3.functional.test_s3.test_put_object_ifmatch_nonexisted_failed -s3tests_boto3.functional.test_s3.test_object_raw_get_bucket_gone -s3tests_boto3.functional.test_s3.test_object_raw_get -s3tests_boto3.functional.test_s3.test_object_delete_key_bucket_gone -s3tests_boto3.functional.test_s3.test_object_raw_get_object_gone -s3tests_boto3.functional.test_s3.test_bucket_head_extended -s3tests_boto3.functional.test_s3.test_object_raw_get_bucket_acl -s3tests_boto3.functional.test_s3.test_object_raw_response_headers -s3tests_boto3.functional.test_s3.test_object_raw_authenticated_bucket_acl -s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_range_zero -s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_positive_range -s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_max_range -s3tests_boto3.functional.test_s3.test_object_anon_put_write_access -s3tests_boto3.functional.test_s3.test_object_raw_put_authenticated_expired -s3tests_boto3.functional.test_s3.test_bucket_create_naming_bad_short_empty -s3tests_boto3.functional.test_s3.test_bucket_create_naming_good_long_250 -s3tests_boto3.functional.test_s3.test_bucket_create_naming_good_long_251 -s3tests_boto3.functional.test_s3.test_bucket_create_naming_good_long_252 -s3tests_boto3.functional.test_s3.test_bucket_create_naming_good_long_253 -s3tests_boto3.functional.test_s3.test_bucket_create_naming_good_long_254 -s3tests_boto3.functional.test_s3.test_bucket_create_naming_good_long_255 -s3tests_boto3.functional.test_s3.test_bucket_list_long_name -s3tests_boto3.functional.test_s3.test_bucket_create_naming_dns_underscore -s3tests_boto3.functional.test_s3.test_bucket_create_naming_dns_long -s3tests_boto3.functional.test_s3.test_bucket_create_naming_dns_dash_at_end -s3tests_boto3.functional.test_s3.test_bucket_create_naming_dns_dot_dot -s3tests_boto3.functional.test_s3.test_bucket_create_naming_dns_dot_dash -s3tests_boto3.functional.test_s3.test_bucket_create_naming_dns_dash_dot -s3tests_boto3.functional.test_s3.test_bucket_acl_default -s3tests_boto3.functional.test_s3.test_bucket_acl_canned_during_create -s3tests_boto3.functional.test_s3.test_bucket_acl_canned -s3tests_boto3.functional.test_s3.test_bucket_acl_canned_publicreadwrite -s3tests_boto3.functional.test_s3.test_bucket_acl_canned_authenticatedread -s3tests_boto3.functional.test_s3.test_object_acl_default -s3tests_boto3.functional.test_s3.test_object_acl_canned_during_create -s3tests_boto3.functional.test_s3.test_object_acl_canned_publicreadwrite -s3tests_boto3.functional.test_s3.test_object_acl_canned_bucketownerread -s3tests_boto3.functional.test_s3.test_object_acl_canned_authenticatedread -s3tests_boto3.functional.test_s3.test_object_acl_canned_bucketownerfullcontrol -s3tests_boto3.functional.test_s3.test_object_acl_full_control_verify_owner -s3tests_boto3.functional.test_s3.test_object_acl_full_control_verify_attributes -s3tests_boto3.functional.test_s3.test_object_acl -s3tests_boto3.functional.test_s3.test_object_acl_write -s3tests_boto3.functional.test_s3.test_object_acl_writeacp -s3tests_boto3.functional.test_s3.test_object_acl_read -s3tests_boto3.functional.test_s3.test_object_acl_readacp -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_userid_fullcontrol -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_userid_read -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_userid_readacp -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_userid_write -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_userid_writeacp -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_nonexist_user -s3tests_boto3.functional.test_s3.test_bucket_acl_no_grants -s3tests_boto3.functional.test_s3.test_bucket_header_acl_grants -s3tests_boto3.functional.test_s3.test_object_header_acl_grants -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_email -s3tests_boto3.functional.test_s3.test_bucket_acl_grant_email_not_exist -s3tests_boto3.functional.test_s3.test_bucket_acl_revoke_all -s3tests_boto3.functional.test_s3.test_logging_toggle -s3tests_boto3.functional.test_s3.test_access_bucket_private_object_private -s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_private -s3tests_boto3.functional.test_s3.test_access_bucket_private_object_publicread -s3tests_boto3.functional.test_s3.test_object_acl_canned -s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_publicread -s3tests_boto3.functional.test_s3.test_access_bucket_private_object_publicreadwrite -s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_publicreadwrite -s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_private -s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_publicread -s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_publicreadwrite -s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_private -s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_publicread -s3tests_boto3.functional.test_s3.test_list_buckets_anonymous -s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_publicreadwrite -s3tests_boto3.functional.test_s3.test_list_buckets_invalid_auth -s3tests_boto3.functional.test_s3.test_list_buckets_bad_auth -s3tests_boto3.functional.test_s3.test_bucket_recreate_not_overriding -s3tests_boto3.functional.test_s3.test_object_copy_to_itself -s3tests_boto3.functional.test_s3.test_object_copy_not_owned_bucket -s3tests_boto3.functional.test_s3.test_object_copy_not_owned_object_bucket -s3tests_boto3.functional.test_s3.test_multipart_copy_invalid_range -s3tests_boto3.functional.test_s3.test_multipart_upload -s3tests_boto3.functional.test_s3.test_multipart_upload_size_too_small -s3tests_boto3.functional.test_s3.test_abort_multipart_upload -s3tests_boto3.functional.test_s3.test_multipart_copy_improper_range -s3tests_boto3.functional.test_s3.test_100_continue -s3tests_boto3.functional.test_s3.test_set_cors -s3tests_boto3.functional.test_s3.test_cors_origin_wildcard -s3tests_boto3.functional.test_s3.test_cors_origin_response -s3tests_boto3.functional.test_s3.test_cors_header_option -s3tests_boto3.functional.test_s3.test_set_tagging -s3tests_boto3.functional.test_s3.test_multipart_resend_first_finishes_last -s3tests_boto3.functional.test_s3.test_versioned_object_acl -s3tests_boto3.functional.test_s3.test_versioned_object_acl_no_version_specified -s3tests_boto3.functional.test_s3.test_lifecycle_get -s3tests_boto3.functional.test_s3.test_lifecycle_id_too_long -s3tests_boto3.functional.test_s3.test_lifecycle_same_id -s3tests_boto3.functional.test_s3.test_lifecycle_invalid_status -s3tests_boto3.functional.test_s3.test_lifecycle_set_invalid_date -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_date -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_days0 -s3tests_boto3.functional.test_s3.test_lifecycle_set_noncurrent -s3tests_boto3.functional.test_s3.test_lifecycle_noncur_expiration -s3tests_boto3.functional.test_s3.test_lifecycle_set_deletemarker -s3tests_boto3.functional.test_s3.test_lifecycle_set_filter -s3tests_boto3.functional.test_s3.test_lifecycle_deletemarker_expiration -s3tests_boto3.functional.test_s3.test_lifecycle_set_empty_filter -s3tests_boto3.functional.test_s3.test_lifecyclev2_expiration -s3tests_boto3.functional.test_s3.test_lifecycle_set_multipart -s3tests_boto3.functional.test_s3.test_encryption_sse_c_multipart_upload -s3tests_boto3.functional.test_s3.test_encryption_sse_c_post_object_authenticated_request -s3tests_boto3.functional.test_s3.test_lifecycle_multipart_expiration -s3tests_boto3.functional.test_s3.test_encryption_sse_c_multipart_bad_download -s3tests_boto3.functional.test_s3.test_sse_kms_multipart_upload -s3tests_boto3.functional.test_s3.test_sse_kms_post_object_authenticated_request -s3tests_boto3.functional.test_s3.test_bucket_policy_acl -s3tests_boto3.functional.test_s3.test_bucketv2_policy_acl -s3tests_boto3.functional.test_s3.test_bucket_policy_different_tenant -s3tests_boto3.functional.test_s3.test_encryption_sse_c_multipart_invalid_chunks_1 -s3tests_boto3.functional.test_s3.test_bucketv2_policy_different_tenant -s3tests_boto3.functional.test_s3.test_bucket_policy_set_condition_operator_end_with_IfExists -s3tests_boto3.functional.test_s3.test_post_object_tags_anonymous_request -s3tests_boto3.functional.test_s3.test_post_object_tags_authenticated_request -s3tests_boto3.functional.test_s3.test_put_obj_with_tags -s3tests_boto3.functional.test_s3.test_get_tags_acl_public -s3tests_boto3.functional.test_s3.test_delete_tags_obj_public -s3tests_boto3.functional.test_s3.test_put_tags_acl_public -s3tests_boto3.functional.test_s3.test_bucket_policy_get_obj_tagging_existing_tag -s3tests_boto3.functional.test_s3.test_bucket_policy_get_obj_existing_tag -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_tagging_existing_tag -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_copy_source -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_copy_source_meta -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_acl -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_enc -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_grant -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_request_obj_tag -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock_invalid_bucket -s3tests_boto3.functional.test_s3.test_bucket_policy_get_obj_acl_existing_tag -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock_with_days_and_years -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock_invalid_days -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock_invalid_years -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock_invalid_status -s3tests_boto3.functional.test_s3.test_object_lock_suspend_versioning -s3tests_boto3.functional.test_s3.test_object_lock_get_obj_lock -s3tests_boto3.functional.test_s3.test_object_lock_get_obj_lock_invalid_bucket -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_invalid_bucket -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_invalid_mode -s3tests_boto3.functional.test_s3.test_object_lock_get_obj_retention -s3tests_boto3.functional.test_s3.test_object_lock_get_obj_retention_invalid_bucket -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_versionid -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_override_default_retention -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_increase_period -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_shorten_period -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_retention_shorten_period_bypass -s3tests_boto3.functional.test_s3.test_object_lock_delete_object_with_retention -s3tests_boto3.functional.test_s3.test_object_lock_put_legal_hold_invalid_bucket -s3tests_boto3.functional.test_s3.test_object_lock_put_legal_hold_invalid_status -s3tests_boto3.functional.test_s3.test_object_lock_get_legal_hold_invalid_bucket -s3tests_boto3.functional.test_s3.test_object_lock_delete_object_with_legal_hold_on -s3tests_boto3.functional.test_s3.test_object_lock_delete_object_with_legal_hold_off -s3tests_boto3.functional.test_s3.test_object_lock_get_obj_metadata -s3tests_boto3.functional.test_s3.test_object_lock_uploading_obj -s3tests_boto3.fuzz.test.test_fuzzer.test_load_graph -test_realistic.TestFileValidator.test_new_file_is_valid -test_realistic.TestFileValidator.test_new_file_is_valid_on_several_calls -test_realistic.TestFileValidator.test_new_file_is_valid_when_size_is_1 -test_realistic.TestFiles.test_random_file_valid -s3tests.functional.test_headers.test_object_create_bad_contentlength_mismatch_above \ No newline at end of file +s3tests/functional/test_s3.py::test_100_continue +s3tests/functional/test_headers.py::test_object_create_date_and_amz_date +s3tests/functional/test_headers.py::test_object_create_amz_date_and_no_date +s3tests/functional/test_headers.py::test_object_create_bad_authorization_empty +s3tests/functional/test_headers.py::test_object_create_bad_contentlength_none +s3tests/functional/test_headers.py::test_object_create_bad_contentlength_mismatch_below_aws2 +s3tests/functional/test_s3.py::test_versioning_obj_read_not_exist_null +s3tests/functional/test_s3.py::test_append_normal_object +s3tests/functional/test_s3.py::test_append_object +s3tests/functional/test_s3.py::test_append_object_position_wrong +s3tests/functional/test_s3.py::test_logging_toggle +s3tests/functional/test_s3.py::test_encryption_sse_c_multipart_invalid_chunks_2 +s3tests/functional/test_s3.py::test_bucket_policy_different_tenant +s3tests/functional/test_s3.py::test_bucket_policy_set_condition_operator_end_with_IfExists +s3tests/functional/test_s3.py::test_bucket_policy_put_obj_enc +s3tests/functional/test_s3.py::test_bucket_policy_put_obj_request_obj_tag +s3tests/functional/test_s3_website.py::check_can_test_website +s3tests/functional/test_s3_website.py::test_website_nonexistant_bucket_s3 +s3tests/functional/test_s3_website.py::test_website_nonexistant_bucket_rgw +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_public_index +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_public_index +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_empty +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_empty +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_private_index +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_empty_missingerrordoc +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_private_index +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_private_index_missingerrordoc +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_private_index_missingerrordoc +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_empty_missingerrordoc +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_empty_blockederrordoc +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_empty_blockederrordoc +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_private_index_blockederrordoc +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_private_index_blockederrordoc +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_empty_gooderrordoc +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_empty_gooderrordoc +s3tests/functional/test_s3_website.py::test_website_public_bucket_list_private_index_gooderrordoc +s3tests/functional/test_s3_website.py::test_website_private_bucket_list_private_index_gooderrordoc +s3tests/functional/test_s3_website.py::test_website_bucket_private_redirectall_base +s3tests/functional/test_s3_website.py::test_website_bucket_private_redirectall_path +s3tests/functional/test_s3_website.py::test_website_bucket_private_redirectall_path_upgrade +s3tests/functional/test_s3_website.py::test_website_xredirect_nonwebsite +s3tests/functional/test_s3_website.py::test_website_xredirect_private_relative +s3tests/functional/test_s3_website.py::test_website_xredirect_public_abs +s3tests/functional/test_s3_website.py::test_website_xredirect_public_relative +s3tests/functional/test_s3_website.py +s3tests/functional/test_s3_website.py::test_website_xredirect_private_abs +test_realistic/TestFileValidator.py::test_new_file_is_valid_on_several_calls +test_realistic/TestFileValidator.py::test_new_file_is_valid_when_size_is_1 +test_realistic/TestFileValidator.py::test_new_file_is_valid +test_realistic/TestFiles/test_random_file_valid +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contentlength_none +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contentlength_mismatch_abov +s3tests_boto3/functional/test_headers.py::test_object_create_bad_authorization_empty +s3tests_boto3/functional/test_headers.py::test_object_create_date_and_amz_date +s3tests_boto3/functional/test_headers.py::test_object_create_amz_date_and_no_date +s3tests_boto3/functional/test_headers.py::test_object_create_bad_authorization_none +s3tests_boto3/functional/test_headers.py::test_bucket_put_bad_canned_acl +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_expect_mismatch +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_authorization_none +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_authorization_empty +s3tests_boto3/functional/test_headers.py::test_object_create_bad_contentlength_mismatch_below_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_authorization_incorrect_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_authorization_invalid_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_invalid_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_empty_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_none_aws2 +s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_before_epoch_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_authorization_invalid_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_invalid_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_none_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_empty_aws2 +s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_before_epoch_aws2 +s3tests/functional/test_headers.py::test_object_acl_create_contentlength_none +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_underscore +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_unreadable +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_unreadable +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_empty +s3tests/functional/test_s3.py::test_encryption_sse_c_multipart_invalid_chunks_1 +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_unreadable +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_unreadable +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_delimiter_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_zero +s3tests_boto3/functional/test_s3.py::test_bucket_list_unordered +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_unordered +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_unreadable +s3tests_boto3/functional/test_s3.py::test_bucket_list_return_data_versioning +s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous +s3tests_boto3/functional/test_s3.py::test_object_write_cache_control +s3tests_boto3/functional/test_s3.py::test_object_write_expires +s3tests_boto3/functional/test_s3.py::test_multi_objectv2_delete +s3tests_boto3/functional/test_s3.py::test_object_set_get_unicode_metadata +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_empty_to_unreadable_prefix +s3tests_boto3/functional/test_s3.py::test_object_set_get_non_utf8_metadata +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_empty_to_unreadable_suffix +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_empty_to_unreadable_infix +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_overwrite_to_unreadable_prefix +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_overwrite_to_unreadable_suffix +s3tests_boto3/functional/test_s3.py::test_object_set_get_metadata_overwrite_to_unreadable_infix +s3tests_boto3/functional/test_s3.py::test_post_object_anonymous_request +s3tests_boto3/functional/test_s3.py::test_post_object_authenticated_request +s3tests_boto3/functional/test_s3.py::test_post_object_authenticated_no_content_type +s3tests_boto3/functional/test_s3.py::test_post_object_set_success_code +s3tests_boto3/functional/test_s3.py::test_post_object_set_invalid_success_code +s3tests_boto3/functional/test_s3.py::test_post_object_upload_larger_than_chunk +s3tests_boto3/functional/test_s3.py::test_post_object_set_key_from_filename +s3tests_boto3/functional/test_s3.py::test_post_object_case_insensitive_condition_fields +s3tests_boto3/functional/test_s3.py::test_post_object_ignored_header +s3tests_boto3/functional/test_s3.py::test_post_object_escaped_field_values +s3tests_boto3/functional/test_s3.py::test_post_object_success_redirect_action +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_date_format +s3tests_boto3/functional/test_s3.py::test_post_object_no_key_specified +s3tests_boto3/functional/test_s3.py::test_post_object_missing_signature +s3tests_boto3/functional/test_s3.py::test_post_object_user_specified_header +s3tests_boto3/functional/test_s3.py::test_post_object_condition_is_case_sensitive +s3tests_boto3/functional/test_s3.py::test_post_object_expires_is_case_sensitive +s3tests_boto3/functional/test_s3.py::test_post_object_missing_expires_condition +s3tests_boto3/functional/test_s3.py::test_post_object_missing_conditions_list +s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_limit_exceeded +s3tests_boto3/functional/test_s3.py::test_post_object_missing_content_length_argument +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_content_length_argument +s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_below_minimum +s3tests_boto3/functional/test_s3.py::test_post_object_empty_conditions +s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_nonexisted_failed +s3tests_boto3/functional/test_s3.py::test_object_raw_get_bucket_gone +s3tests_boto3/functional/test_s3.py::test_object_raw_get +s3tests_boto3/functional/test_s3.py::test_object_delete_key_bucket_gone +s3tests_boto3/functional/test_s3.py::test_object_raw_get_object_gone +s3tests_boto3/functional/test_s3.py::test_bucket_head_extended +s3tests_boto3/functional/test_s3.py::test_object_raw_get_bucket_acl +s3tests_boto3/functional/test_s3.py::test_object_raw_response_headers +s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_bucket_acl +s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_range_zero +s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_positive_range +s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_max_range +s3tests_boto3/functional/test_s3.py::test_object_anon_put_write_access +s3tests_boto3/functional/test_s3.py::test_object_raw_put_authenticated_expired +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_short_empty +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_250 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_251 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_252 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_253 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_254 +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_long_255 +s3tests_boto3/functional/test_s3.py::test_bucket_list_long_name +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_underscore +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_long +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_dash_at_end +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_dot_dot +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_dot_dash +s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_dash_dot +s3tests_boto3/functional/test_s3.py::test_bucket_acl_default +s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned_during_create +s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned +s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned_publicreadwrite +s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned_authenticatedread +s3tests_boto3/functional/test_s3.py::test_object_acl_default +s3tests_boto3/functional/test_s3.py::test_object_acl_canned_during_create +s3tests_boto3/functional/test_s3.py::test_object_acl_canned_publicreadwrite +s3tests_boto3/functional/test_s3.py::test_object_acl_canned_bucketownerread +s3tests_boto3/functional/test_s3.py::test_object_acl_canned_authenticatedread +s3tests_boto3/functional/test_s3.py::test_object_acl_canned_bucketownerfullcontrol +s3tests_boto3/functional/test_s3.py::test_object_acl_full_control_verify_owner +s3tests_boto3/functional/test_s3.py::test_object_acl_full_control_verify_attributes +s3tests_boto3/functional/test_s3.py::test_object_acl +s3tests_boto3/functional/test_s3.py::test_object_acl_write +s3tests_boto3/functional/test_s3.py::test_object_acl_writeacp +s3tests_boto3/functional/test_s3.py::test_object_acl_read +s3tests_boto3/functional/test_s3.py::test_object_acl_readacp +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_userid_fullcontrol +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_userid_read +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_userid_readacp +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_userid_write +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_userid_writeacp +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_nonexist_user +s3tests_boto3/functional/test_s3.py::test_bucket_acl_no_grants +s3tests_boto3/functional/test_s3.py::test_bucket_header_acl_grants +s3tests_boto3/functional/test_s3.py::test_object_header_acl_grants +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_email +s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_email_not_exist +s3tests_boto3/functional/test_s3.py::test_bucket_acl_revoke_all +s3tests_boto3/functional/test_s3.py::test_logging_toggle +s3tests_boto3/functional/test_s3.py::test_access_bucket_private_object_private +s3tests_boto3/functional/test_s3.py::test_access_bucket_private_objectv2_private +s3tests_boto3/functional/test_s3.py::test_access_bucket_private_object_publicread +s3tests_boto3/functional/test_s3.py::test_object_acl_canned +s3tests_boto3/functional/test_s3.py::test_access_bucket_private_objectv2_publicread +s3tests_boto3/functional/test_s3.py::test_access_bucket_private_object_publicreadwrite +s3tests_boto3/functional/test_s3.py::test_access_bucket_private_objectv2_publicreadwrite +s3tests_boto3/functional/test_s3.py::test_access_bucket_publicread_object_private +s3tests_boto3/functional/test_s3.py::test_access_bucket_publicread_object_publicread +s3tests_boto3/functional/test_s3.py::test_access_bucket_publicread_object_publicreadwrite +s3tests_boto3/functional/test_s3.py::test_access_bucket_publicreadwrite_object_private +s3tests_boto3/functional/test_s3.py::test_access_bucket_publicreadwrite_object_publicread +s3tests_boto3/functional/test_s3.py::test_list_buckets_anonymous +s3tests_boto3/functional/test_s3.py::test_access_bucket_publicreadwrite_object_publicreadwrite +s3tests_boto3/functional/test_s3.py::test_list_buckets_invalid_auth +s3tests_boto3/functional/test_s3.py::test_list_buckets_bad_auth +s3tests_boto3/functional/test_s3.py::test_bucket_recreate_not_overriding +s3tests_boto3/functional/test_s3.py::test_object_copy_to_itself +s3tests_boto3/functional/test_s3.py::test_object_copy_not_owned_bucket +s3tests_boto3/functional/test_s3.py::test_object_copy_not_owned_object_bucket +s3tests_boto3/functional/test_s3.py::test_multipart_copy_invalid_range +s3tests_boto3/functional/test_s3.py::test_multipart_upload +s3tests_boto3/functional/test_s3.py::test_multipart_upload_size_too_small +s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload +s3tests_boto3/functional/test_s3.py::test_multipart_copy_improper_range +s3tests_boto3/functional/test_s3.py::test_100_continue +s3tests_boto3/functional/test_s3.py::test_set_cors +s3tests_boto3/functional/test_s3.py::test_cors_origin_wildcard +s3tests_boto3/functional/test_s3.py::test_cors_origin_response +s3tests_boto3/functional/test_s3.py::test_cors_header_option +s3tests_boto3/functional/test_s3.py::test_set_tagging +s3tests_boto3/functional/test_s3.py::test_multipart_resend_first_finishes_last +s3tests_boto3/functional/test_s3.py::test_versioned_object_acl +s3tests_boto3/functional/test_s3.py::test_versioned_object_acl_no_version_specified +s3tests_boto3/functional/test_s3.py::test_lifecycle_get +s3tests_boto3/functional/test_s3.py::test_lifecycle_id_too_long +s3tests_boto3/functional/test_s3.py::test_lifecycle_same_id +s3tests_boto3/functional/test_s3.py::test_lifecycle_invalid_status +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_invalid_date +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_date +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_days0 +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_noncurrent +s3tests_boto3/functional/test_s3.py::test_lifecycle_noncur_expiration +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_deletemarker +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_filter +s3tests_boto3/functional/test_s3.py::test_lifecycle_deletemarker_expiration +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_empty_filter +s3tests_boto3/functional/test_s3.py::test_lifecyclev2_expiration +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_multipart +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_upload +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_post_object_authenticated_request +s3tests_boto3/functional/test_s3.py::test_lifecycle_multipart_expiration +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_bad_download +s3tests_boto3/functional/test_s3.py::test_sse_kms_multipart_upload +s3tests_boto3/functional/test_s3.py::test_sse_kms_post_object_authenticated_request +s3tests_boto3/functional/test_s3.py::test_bucket_policy_acl +s3tests_boto3/functional/test_s3.py::test_bucketv2_policy_acl +s3tests_boto3/functional/test_s3.py::test_bucket_policy_different_tenant +s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_invalid_chunks_1 +s3tests_boto3/functional/test_s3.py::test_bucketv2_policy_different_tenant +s3tests_boto3/functional/test_s3.py::test_bucket_policy_set_condition_operator_end_with_IfExists +s3tests_boto3/functional/test_s3.py::test_post_object_tags_anonymous_request +s3tests_boto3/functional/test_s3.py::test_post_object_tags_authenticated_request +s3tests_boto3/functional/test_s3.py::test_put_obj_with_tags +s3tests_boto3/functional/test_s3.py::test_get_tags_acl_public +s3tests_boto3/functional/test_s3.py::test_delete_tags_obj_public +s3tests_boto3/functional/test_s3.py::test_put_tags_acl_public +s3tests_boto3/functional/test_s3.py::test_bucket_policy_get_obj_tagging_existing_tag +s3tests_boto3/functional/test_s3.py::test_bucket_policy_get_obj_existing_tag +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_tagging_existing_tag +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_copy_source +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_copy_source_meta +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_acl +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_enc +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_grant +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_request_obj_tag +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_bucket +s3tests_boto3/functional/test_s3.py::test_bucket_policy_get_obj_acl_existing_tag +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_with_days_and_years +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_days +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_years +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_status +s3tests_boto3/functional/test_s3.py::test_object_lock_suspend_versioning +s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_lock +s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_lock_invalid_bucket +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_invalid_bucket +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_invalid_mode +s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention +s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention_invalid_bucket +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_versionid +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_override_default_retention +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_increase_period +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_shorten_period +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_shorten_period_bypass +s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_retention +s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold_invalid_bucket +s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold_invalid_status +s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold_invalid_bucket +s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_legal_hold_on +s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_legal_hold_off +s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_metadata +s3tests_boto3/functional/test_s3.py::test_object_lock_uploading_obj +s3tests_boto3/fuzz/test/test_fuzzer/test_load_graph +test_realistic/TestFileValidator.py::test_new_file_is_valid +test_realistic/TestFileValidator.py::test_new_file_is_valid_on_several_calls +test_realistic/TestFileValidator.py::test_new_file_is_valid_when_size_is_1 +test_realistic/TestFiles/test_random_file_valid +s3tests/functional/test_headers.py::test_object_create_bad_contentlength_mismatch_above +s3tests_boto3/functional/test_iam.py::test_put_user_policy +s3tests_boto3/functional/test_iam.py::test_put_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_put_user_policy_parameter_limit +s3tests_boto3/functional/test_iam.py::test_put_user_policy_invalid_element +s3tests_boto3/functional/test_iam.py::test_put_existing_user_policy +s3tests_boto3/functional/test_iam.py::test_list_user_policy +s3tests_boto3/functional/test_iam.py::test_list_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_get_user_policy +s3tests_boto3/functional/test_iam.py::test_get_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_get_user_policy_invalid_policy_name +s3tests_boto3/functional/test_iam.py::test_get_deleted_user_policy +s3tests_boto3/functional/test_iam.py::test_get_user_policy_from_multiple_policies +s3tests_boto3/functional/test_iam.py::test_delete_user_policy +s3tests_boto3/functional/test_iam.py::test_delete_user_policy_invalid_user +s3tests_boto3/functional/test_iam.py::test_delete_user_policy_invalid_policy_name +s3tests_boto3/functional/test_iam.py::test_delete_user_policy_from_multiple_policies +s3tests_boto3/functional/test_iam.py::test_allow_bucket_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_bucket_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_allow_object_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_object_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_allow_multipart_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_multipart_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_allow_tagging_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_deny_tagging_actions_in_user_policy +s3tests_boto3/functional/test_iam.py::test_verify_conflicting_user_policy_statements +s3tests_boto3/functional/test_iam.py::test_verify_conflicting_user_policies +s3tests_boto3/functional/test_iam.py::test_verify_allow_iam_actions +s3tests_boto3/functional/test_sts.py::test_get_session_token +s3tests_boto3/functional/test_sts.py::test_get_session_token_permanent_creds_denied +s3tests_boto3/functional/test_sts.py::test_assume_role_allow +s3tests_boto3/functional/test_sts.py::test_assume_role_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_creds_expiry +s3tests_boto3/functional/test_sts.py::test_assume_role_deny_head_nonexistent +s3tests_boto3/functional/test_sts.py::test_assume_role_allow_head_nonexistent +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity +s3tests_boto3/functional/test_sts.py::test_session_policy_check_on_different_buckets +s3tests_boto3/functional/test_sts.py::test_session_policy_check_on_same_bucket +s3tests_boto3/functional/test_sts.py::test_session_policy_check_put_obj_denial +s3tests_boto3/functional/test_sts.py::test_swapping_role_policy_and_session_policy +s3tests_boto3/functional/test_sts.py::test_session_policy_check_different_op_permissions +s3tests_boto3/functional/test_sts.py::test_session_policy_check_with_deny_effect +s3tests_boto3/functional/test_sts.py::test_session_policy_check_with_deny_on_same_op +s3tests_boto3/functional/test_sts.py::test_session_policy_bucket_policy_role_arn +s3tests_boto3/functional/test_sts.py::test_session_policy_bucket_policy_session_arn +s3tests_boto3/functional/test_sts.py::test_session_policy_copy_object +s3tests_boto3/functional/test_sts.py::test_session_policy_no_bucket_role_policy +s3tests_boto3/functional/test_sts.py::test_session_policy_bucket_policy_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_sub +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_azp +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_request_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_with_principal_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_for_all_values +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_for_all_values_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_tag_keys_trust_policy +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_tag_keys_role_policy +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_wrong_resource_tag_deny +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag_princ_tag +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_resource_tag_copy_obj +s3tests_boto3/functional/test_sts.py::test_assume_role_with_web_identity_role_resource_tag \ No newline at end of file diff --git a/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_pending_list.txt b/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_pending_list.txt index c4dfcfa015..40b317d3bc 100644 --- a/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_pending_list.txt +++ b/src/test/system_tests/ceph_s3_tests/s3-tests-lists/s3_tests_pending_list.txt @@ -1,72 +1,76 @@ -s3tests_boto3.functional.test_s3.test_get_bucket_policy_status -s3tests.functional.test_s3.test_atomic_dual_conditional_write_1mb -s3tests_boto3.functional.test_s3.test_bucket_listv2_encoding_basic -s3tests_boto3.functional.test_s3.test_bucket_list_encoding_basic -s3tests_boto3.functional.test_s3.test_bucket_list_delimiter_none -s3tests_boto3.functional.test_s3.test_bucket_listv2_delimiter_none -s3tests_boto3.functional.test_s3.test_bucket_list_delimiter_not_skip_special -s3tests_boto3.functional.test_s3.test_bucket_list_prefix_basic -s3tests_boto3.functional.test_s3.test_bucket_list_prefix_delimiter_basic -s3tests_boto3.functional.test_s3.test_account_usage -s3tests_boto3.functional.test_s3.test_head_bucket_usage -s3tests_boto3.functional.test_s3.test_post_object_invalid_signature -s3tests_boto3.functional.test_s3.test_post_object_invalid_access_key -s3tests_boto3.functional.test_s3.test_post_object_missing_policy_condition -s3tests_boto3.functional.test_s3.test_post_object_request_missing_policy_specified_field -s3tests_boto3.functional.test_s3.test_post_object_expired_policy -s3tests_boto3.functional.test_s3.test_post_object_invalid_request_field_value -s3tests_boto3.functional.test_s3.test_lifecycle_get_no_id -s3tests_boto3.functional.test_s3.test_object_lock_put_obj_lock_invalid_mode -s3tests_boto3.functional.test_s3.test_object_lock_get_obj_retention_iso8601 -s3tests_boto3.functional.test_s3.test_object_lock_delete_object_with_retention_and_marker -s3tests_boto3.functional.test_s3.test_multipart_upload_on_a_bucket_with_policy -s3tests_boto3.functional.test_s3.test_multipart_upload_small -s3tests_boto3.functional.test_s3.test_post_object_authenticated_request_bad_access_key -s3tests_boto3.functional.test_s3.test_bucket_create_exists -s3tests_boto3.functional.test_s3.test_bucket_create_exists_nonowner -s3tests_boto3.functional.test_s3.test_bucket_recreate_overwrite_acl -s3tests_boto3.functional.test_s3.test_bucket_recreate_new_acl -s3tests_boto3.functional.test_s3.test_list_multipart_upload_owner -s3tests_boto3.functional.test_s3.test_lifecycle_set -s3tests_boto3.functional.test_s3.test_lifecycle_expiration -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_versioning_enabled -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_tags2 -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_versioned_tags2 -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_noncur_tags1 -s3tests_boto3.functional.test_s3.test_lifecycle_set_date -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_header_put -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_header_head -s3tests_boto3.functional.test_s3.test_lifecycle_expiration_header_tags_head -s3tests_boto3.functional.test_s3.test_lifecycle_transition_set_invalid_date -s3tests_boto3.functional.test_s3.test_put_obj_enc_conflict_c_s3 -s3tests_boto3.functional.test_s3.test_put_obj_enc_conflict_c_kms -s3tests_boto3.functional.test_s3.test_put_obj_enc_conflict_s3_kms -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_s3_noenc -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_s3_kms -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_kms_noenc -s3tests_boto3.functional.test_s3.test_bucket_policy_put_obj_kms_s3 -s3tests_boto3.functional.test_s3.test_object_lock_multi_delete_object_with_retention -s3tests_boto3.functional.test_s3.test_object_lock_put_legal_hold -s3tests_boto3.functional.test_s3.test_object_lock_get_legal_hold -s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_governance_with_bypass -s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_governance_without_bypass -s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_compliance -s3tests_boto3.functional.test_s3.test_object_read_unreadable -s3tests_boto3.functional.test_s3.test_user_policy -s3tests_boto3.functional.test_s3.test_get_public_acl_bucket_policy_status -s3tests_boto3.functional.test_s3.test_get_authpublic_acl_bucket_policy_status -s3tests_boto3.functional.test_s3.test_get_publicpolicy_acl_bucket_policy_status -s3tests_boto3.functional.test_s3.test_get_nonpublicpolicy_acl_bucket_policy_status -s3tests_boto3.functional.test_s3.test_get_nonpublicpolicy_deny_bucket_policy_status -s3tests_boto3.functional.test_s3.test_get_default_public_block -s3tests_boto3.functional.test_s3.test_put_public_block -s3tests_boto3.functional.test_s3.test_block_public_put_bucket_acls -s3tests_boto3.functional.test_s3.test_block_public_object_canned_acls -s3tests_boto3.functional.test_s3.test_block_public_policy -s3tests_boto3.functional.test_s3.test_ignore_public_acls -s3tests_boto3.functional.test_s3.test_sse_s3_default_post_object_authenticated_request -s3tests_boto3.functional.test_s3.test_sse_kms_default_post_object_authenticated_request -s3tests_boto3.functional.test_s3select.test_generate_projection -s3tests_boto3.functional.test_s3select.test_alias_cyclic_refernce -s3tests_boto3.functional.test_s3select.test_schema_definition -s3tests_boto3.functional.test_s3select.test_progress_expressions +s3tests_boto3/functional/test_s3.py::test_get_bucket_policy_status +s3tests/functional/test_s3.py::test_atomic_dual_conditional_write_1mb +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_encoding_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_encoding_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_none +s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_none +s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_skip_special +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_basic +s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_basic +s3tests_boto3/functional/test_s3.py::test_account_usage +s3tests_boto3/functional/test_s3.py::test_head_bucket_usage +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_signature +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_access_key +s3tests_boto3/functional/test_s3.py::test_post_object_missing_policy_condition +s3tests_boto3/functional/test_s3.py::test_post_object_request_missing_policy_specified_field +s3tests_boto3/functional/test_s3.py::test_post_object_expired_policy +s3tests_boto3/functional/test_s3.py::test_post_object_invalid_request_field_value +s3tests_boto3/functional/test_s3.py::test_lifecycle_get_no_id +s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_mode +s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention_iso8601 +s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_retention_and_marker +s3tests_boto3/functional/test_s3.py::test_multipart_upload_on_a_bucket_with_policy +s3tests_boto3/functional/test_s3.py::test_multipart_upload_small +s3tests_boto3/functional/test_s3.py::test_post_object_authenticated_request_bad_access_key +s3tests_boto3/functional/test_s3.py::test_bucket_create_exists +s3tests_boto3/functional/test_s3.py::test_bucket_create_exists_nonowner +s3tests_boto3/functional/test_s3.py::test_bucket_recreate_overwrite_acl +s3tests_boto3/functional/test_s3.py::test_bucket_recreate_new_acl +s3tests_boto3/functional/test_s3.py::test_list_multipart_upload_owner +s3tests_boto3/functional/test_s3.py::test_lifecycle_set +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_versioning_enabled +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_tags2 +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_versioned_tags2 +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_noncur_tags1 +s3tests_boto3/functional/test_s3.py::test_lifecycle_set_date +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_put +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_head +s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_tags_head +s3tests_boto3/functional/test_s3.py::test_lifecycle_transition_set_invalid_date +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_c_s3 +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_c_kms +s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_s3_kms +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_s3_noenc +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_s3_kms +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_kms_noenc +s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_kms_s3 +s3tests_boto3/functional/test_s3.py::test_object_lock_multi_delete_object_with_retention +s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold +s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold +s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_with_bypass +s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_without_bypass +s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_compliance +s3tests_boto3/functional/test_s3.py::test_object_read_unreadable +s3tests_boto3/functional/test_s3.py::test_user_policy +s3tests_boto3/functional/test_s3.py::test_get_public_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_authpublic_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_publicpolicy_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_nonpublicpolicy_acl_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_nonpublicpolicy_deny_bucket_policy_status +s3tests_boto3/functional/test_s3.py::test_get_default_public_block +s3tests_boto3/functional/test_s3.py::test_put_public_block +s3tests_boto3/functional/test_s3.py::test_block_public_put_bucket_acls +s3tests_boto3/functional/test_s3.py::test_block_public_object_canned_acls +s3tests_boto3/functional/test_s3.py::test_block_public_policy +s3tests_boto3/functional/test_s3.py::test_ignore_public_acls +s3tests_boto3/functional/test_s3.py::test_sse_s3_default_post_object_authenticated_request +s3tests_boto3/functional/test_s3.py::test_sse_kms_default_post_object_authenticated_request +s3tests_boto3/functional/test_s3select.py::test_generate_projection +s3tests_boto3/functional/test_s3select.py::test_alias_cyclic_refernce +s3tests_boto3/functional/test_s3select.py::test_schema_definition +s3tests_boto3/functional/test_s3select.py::test_progress_expressions +s3tests_boto3/functional/test_s3.py::test_object_write_with_chunked_transfer_encoding +s3tests_boto3/functional/test_s3.py::test_versioning_concurrent_multi_object_delete +s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_rgw_chunk_size_bug +s3tests_boto3/functional/test_s3.py::test_get_object_torrent diff --git a/src/test/system_tests/ceph_s3_tests/test_ceph_s3.js b/src/test/system_tests/ceph_s3_tests/test_ceph_s3.js index fa4189e38a..416de21687 100644 --- a/src/test/system_tests/ceph_s3_tests/test_ceph_s3.js +++ b/src/test/system_tests/ceph_s3_tests/test_ceph_s3.js @@ -15,7 +15,7 @@ const dbg = require('../../../util/debug_module')(__filename); dbg.set_process_name('test_ceph_s3'); const argv = require('minimist')(process.argv.slice(2)); delete argv._; -const { S3_CEPH_TEST_STEMS, S3_CEPH_TEST_SIGV4, CEPH_TEST, DEFAULT_NUMBER_OF_WORKERS } = require('./test_ceph_s3_constants.js'); +const { S3_CEPH_TEST_SIGV4, CEPH_TEST, DEFAULT_NUMBER_OF_WORKERS } = require('./test_ceph_s3_constants.js'); const testing_status = { pass: [], @@ -29,7 +29,6 @@ let tests_list; const OUT_OF_SCOPE_TESTS = create_out_of_scope_tests_list() || []; //Regexp match will be tested per each entry const S3_CEPH_TEST_OUT_OF_SCOPE_REGEXP = new RegExp(`(${OUT_OF_SCOPE_TESTS.join('\\b)|(')}\\b)`); -const S3_CEPH_TEST_STEMS_REGEXP = new RegExp(`(${S3_CEPH_TEST_STEMS.join(')|(')})`); async function main() { if (argv.help) usage(); @@ -76,8 +75,9 @@ async function run_s3_tests() { async function run_all_tests() { console.info('Running Ceph S3 Tests...'); + const tox_args = `-c ${CEPH_TEST.test_dir}${CEPH_TEST.s3_test_dir}${CEPH_TEST.tox_config}`; const tests_list_command = - `S3TEST_CONF=${CEPH_TEST.test_dir}${CEPH_TEST.ceph_config} ./${CEPH_TEST.test_dir}${CEPH_TEST.s3_test_dir}virtualenv/bin/nosetests -v --collect-only 2>&1 | awk '{print $1}' | grep test`; + `S3TEST_CONF=${process.cwd()}/${CEPH_TEST.test_dir}${CEPH_TEST.ceph_config} tox ${tox_args} -- -q --collect-only --disable-pytest-warnings 2>&1 | awk '{print $1}' | grep test`; try { tests_list = await os_utils.exec(tests_list_command, { ignore_rc: false, return_stdout: true }); } catch (err) { @@ -101,18 +101,18 @@ async function test_worker() { } async function run_single_test(test) { - let ceph_args = `S3TEST_CONF=${CEPH_TEST.test_dir}${CEPH_TEST.ceph_config}`; + let ceph_args = `S3TEST_CONF=${process.cwd()}/${CEPH_TEST.test_dir}${CEPH_TEST.ceph_config}`; + const tox_args = `-c ${CEPH_TEST.test_dir}${CEPH_TEST.s3_test_dir}${CEPH_TEST.tox_config}`; if (S3_CEPH_TEST_SIGV4.includes(test)) { ceph_args += ` S3_USE_SIGV4=true`; } - let base_cmd = `${ceph_args} ./${CEPH_TEST.test_dir}${CEPH_TEST.s3_test_dir}virtualenv/bin/nosetests`; + let base_cmd = `${ceph_args} tox ${tox_args}`; if (!S3_CEPH_TEST_OUT_OF_SCOPE_REGEXP.test(test)) { try { - const test_name = test.replace(S3_CEPH_TEST_STEMS_REGEXP, pref => `${pref.slice(0, -1)}:`); //Match against the common test path - if (test_name.includes('boto')) { - base_cmd = `${ceph_args} ./${CEPH_TEST.test_dir}${CEPH_TEST.s3_test_dir}virtualenv/bin/nosetests -v -s -A 'not fails_on_rgw'`; + if (test.includes('boto')) { + base_cmd = `${ceph_args} tox ${tox_args} -- -m 'not fails_on_aws'`; } - const res = await os_utils.exec(`${base_cmd} ${test_name}`, { ignore_rc: false, return_stdout: true }); + const res = await os_utils.exec(`${base_cmd} ${process.cwd()}/${CEPH_TEST.test_dir}${CEPH_TEST.s3_test_dir}${test}`, { ignore_rc: false, return_stdout: true }); if (res.indexOf('SKIP') >= 0) { console.warn('Test skipped:', test); testing_status.skip.push(test); diff --git a/src/test/system_tests/ceph_s3_tests/test_ceph_s3_constants.js b/src/test/system_tests/ceph_s3_tests/test_ceph_s3_constants.js index 08f3ae2c1d..b48f0db635 100644 --- a/src/test/system_tests/ceph_s3_tests/test_ceph_s3_constants.js +++ b/src/test/system_tests/ceph_s3_tests/test_ceph_s3_constants.js @@ -1,20 +1,6 @@ /* Copyright (C) 2022 NooBaa */ "use strict"; -const S3_CEPH_TEST_STEMS = [ - 's3tests.functional.test_headers.', - 's3tests.functional.test_s3.', - 's3tests.fuzz.test.test_fuzzer.', - 's3tests.functional.test_s3_website.', - 's3tests.tests.test_realistic.', - 's3tests_boto3.functional.test_headers.', - 's3tests_boto3.functional.test_s3select.', - 's3tests_boto3.functional.test_s3.', - 's3tests_boto3.fuzz.test.test_fuzzer.', - 's3tests_boto3.functional.test_s3_website.', - 's3tests_boto3.tests.test_realistic.', -]; - const S3_CEPH_TEST_SIGV4 = [ 'check_can_test_multiregion', 'test_bucket_create_bad_amz_date_after_today_aws4', @@ -77,6 +63,7 @@ const CEPH_TEST = { test_dir: 'src/test/system_tests/ceph_s3_tests/', s3_test_dir: 's3-tests/', ceph_config: 'test_ceph_s3_config.conf', + tox_config: 'tox.ini', new_account_params: { name: 'cephalt', email: 'ceph.alt@noobaa.com', @@ -94,7 +81,6 @@ const CEPH_TEST = { const DEFAULT_NUMBER_OF_WORKERS = 5; //5 was the number of workers in the previous CI/CD process -exports.S3_CEPH_TEST_STEMS = S3_CEPH_TEST_STEMS; exports.S3_CEPH_TEST_SIGV4 = S3_CEPH_TEST_SIGV4; exports.CEPH_TEST = CEPH_TEST; exports.DEFAULT_NUMBER_OF_WORKERS = DEFAULT_NUMBER_OF_WORKERS; diff --git a/src/test/system_tests/ceph_s3_tests/test_ceph_s3_deploy.sh b/src/test/system_tests/ceph_s3_tests/test_ceph_s3_deploy.sh index 9df6cdf23a..b1060105b0 100755 --- a/src/test/system_tests/ceph_s3_tests/test_ceph_s3_deploy.sh +++ b/src/test/system_tests/ceph_s3_tests/test_ceph_s3_deploy.sh @@ -17,7 +17,7 @@ DIRECTORY="s3-tests" CEPH_LINK="https://github.com/ceph/s3-tests.git" # using a fixed version (commit) of ceph tests to avoid sudden changes. # we should retest and update the version once in a while -CEPH_TESTS_VERSION=114397c358c7e6b30e0ff2f5dd54607dad1ae8ce +CEPH_TESTS_VERSION=13e0d736a82f9e9bbc3773022b8c8dbd242f999b if [ ! -d $DIRECTORY ]; then echo "Downloading Ceph S3 Tests..." git clone $CEPH_LINK @@ -30,7 +30,7 @@ if [ ! -d $DIRECTORY ]; then # with a certain pattern like the bucket names get_new_bucket_name() generates. # The following manual fix will be obsolete if and when https://github.com/ceph/s3-tests/pull/488 is merged. echo "Manually Fixing S3select Tests" - sed -i '14 i from . import get_new_bucket_name' ./s3tests_boto3/functional/test_s3select.py + sed -i '16 i from . import get_new_bucket_name' ./s3tests_boto3/functional/test_s3select.py sed -i 's/bucket_name = \"test\"/bucket_name = get_new_bucket_name()/g' ./s3tests_boto3/functional/test_s3select.py fi