{ "info": { "commit": "https://git.frostfs.info/TrueCloudLab/s3-tests/commit/7aae6ce2ca48ccd0ac35100af074281c7c88a210" }, "groups": [ { "name": "AbortMultipartUpload", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload_not_found", "s3tests_boto3/functional/test_s3.py::test_atomic_multipart_upload_write", "s3tests_boto3/functional/test_s3.py::test_list_multipart_upload" ], "skip": false, "comment": "" }, { "name": "CompleteMultipartUpload", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_object_copy_versioning_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_empty", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_multiple_sizes", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_size_too_small", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_contents", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_overwrite_existing_object", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_missing_part", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_incorrect_etag", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_overwrite_multipart", "s3tests_boto3/functional/test_s3.py::test_versioning_bucket_multipart_upload_return_version_id", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_small", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_invalid_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_improper_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_without_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_special_names", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_versioned", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_multiple_sizes" ], "skip": false, "comment": "" }, { "name": "CopyObject", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_object_copy_16m", "s3tests_boto3/functional/test_s3.py::test_object_copy_retaining_metadata", "s3tests_boto3/functional/test_s3.py::test_object_copy_replacing_metadata", "s3tests_boto3/functional/test_s3.py::test_object_copy_versioned_bucket", "s3tests_boto3/functional/test_s3.py::test_object_copy_versioned_url_encoding", "s3tests_boto3/functional/test_s3.py::test_object_copy_versioning_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_versioning_copy_obj_version", "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_copy_object_ifnonematch_failed", "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_to_itself", "s3tests_boto3/functional/test_s3.py::test_object_copy_to_itself_with_metadata", "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_object_copy_bucket_not_found", "s3tests_boto3/functional/test_s3.py::test_object_copy_key_not_found", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_suspended_copy" ], "skip": false, "comment": "" }, { "name": "CreateBucket", "tag": "API", "tests": [ "s3tests_boto3/functional/test_headers.py::test_bucket_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_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_63", "s3tests_boto3/functional/test_s3.py::test_bucket_create_exists_nonowner", "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" ], "skip": false, "comment": "" }, { "name": "CreateMultipartUpload", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_multipart_upload_empty", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_multiple_sizes", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_size_too_small", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_contents", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_overwrite_existing_object", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_missing_part", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_incorrect_etag", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_overwrite_multipart", "s3tests_boto3/functional/test_s3.py::test_versioning_bucket_multipart_upload_return_version_id", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_resend_part", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_small", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_invalid_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_improper_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_without_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_special_names", "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_atomic_multipart_upload_write" ], "skip": false, "comment": "" }, { "name": "DeleteBucket", "tag": "API", "tests": [ "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_bucket_create_delete" ], "skip": false, "comment": "" }, { "name": "DeleteBucketAnalyticsConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketCors", "tag": "API", "tests": [], "include": [ "BucketCors" ], "skip": false, "comment": "See BucketCors Feature" }, { "name": "DeleteBucketEncryption", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_delete_bucket_encryption_s3", "s3tests_boto3/functional/test_s3.py::test_delete_bucket_encryption_kms" ], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketIntelligentTieringConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketInventoryConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketLifecycle", "tag": "API", "tests": [], "include": [ "BucketLifecycle" ], "skip": false, "comment": "See BucketLifecycle feature" }, { "name": "DeleteBucketMetricsConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketOwnershipControls", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketPolicy", "tag": "API", "tests": [], "include": [ "BucketPolicy" ], "skip": false, "comment": "See BucketPolicy feature" }, { "name": "DeleteBucketReplication", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteBucketTagging", "tag": "API", "tests": [], "include": [ "BucketTagging" ], "skip": false, "comment": "See BucketTagging feature" }, { "name": "DeleteBucketWebsite", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "DeleteObject", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_object_write_read_update_read_delete", "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_removal", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_overwrite", "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_multi_object_delete_with_marker", "s3tests_boto3/functional/test_s3.py::test_versioned_concurrent_object_create_concurrent_remove", "s3tests_boto3/functional/test_s3.py::test_versioned_concurrent_object_create_and_remove" ], "skip": false, "comment": "" }, { "name": "DeleteObjects", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_multi_object_delete", "s3tests_boto3/functional/test_s3.py::test_multi_objectv2_delete", "s3tests_boto3/functional/test_s3.py::test_multi_object_delete_key_limit", "s3tests_boto3/functional/test_s3.py::test_multi_objectv2_delete_key_limit", "s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete", "s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete_with_marker" ], "skip": false, "comment": "" }, { "name": "DeleteObjectTagging", "tag": "API", "tests": [], "include": [ "ObjectTagging" ], "skip": false, "comment": "See ObjectTagging feature" }, { "name": "DeletePublicAccessBlock", "tag": "API", "tests": [], "include": [ "PublicAccessBlock" ], "skip": false, "comment": "See PublicAccessBlock feature" }, { "name": "GetBucketAccelerateConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not applicable or will never be supported" }, { "name": "GetBucketAcl", "tag": "API", "tests": [], "include": [ "BucketACL" ], "skip": false, "comment": "See BucketACL feature" }, { "name": "GetBucketAnalyticsConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketCors", "tag": "API", "tests": [], "include": [ "BucketCors" ], "skip": false, "comment": "See BucketCors feature" }, { "name": "GetBucketEncryption", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_get_bucket_encryption_s3", "s3tests_boto3/functional/test_s3.py::test_get_bucket_encryption_kms" ], "skip": true, "comment": "Not supported" }, { "name": "GetBucketIntelligentTieringConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketInventoryConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketLifecycle", "tag": "API", "tests": [], "include": [], "skip": true, "comment": "Not supported. This method is deprecated by AWS. Use GetBucketLifecycleConfiguration" }, { "name": "GetBucketLifecycleConfiguration", "tag": "API", "tests": [], "include": [ "BucketLifecycle" ], "skip": false, "comment": "See BucketLifecycle feature" }, { "name": "GetBucketLocation", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_get_location" ], "skip": false, "comment": "" }, { "name": "GetBucketLogging", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_logging_toggle" ], "skip": true, "comment": "Not supported" }, { "name": "GetBucketMetricsConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketNotification", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketNotificationConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketOwnershipControls", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketPolicy", "tag": "API", "tests": [], "include": [ "BucketPolicy" ], "skip": false, "comment": "See BucketPolicy feature" }, { "name": "GetBucketPolicyStatus", "tag": "API", "tests": [], "skip": false, "comment": "Party supported, but there are not compatibility tests" }, { "name": "GetBucketReplication", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetBucketRequestPayment", "tag": "API", "tests": [], "skip": true, "comment": "Not applicable or will never be supported" }, { "name": "GetBucketTagging", "tag": "API", "tests": [], "include": [ "BucketTagging" ], "skip": false, "comment": "See BucketTagging feature" }, { "name": "GetBucketVersioning", "tag": "API", "tests": [], "include": [ "BucketVersioning" ], "skip": false, "comment": "See BucketVersioning feature" }, { "name": "GetBucketWebsite", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "GetObject", "tag": "API", "tests": [ "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_object_read_not_exist", "s3tests_boto3/functional/test_s3.py::test_object_requestid_matches_header_on_error", "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_ranged_request_response_code", "s3tests_boto3/functional/test_s3.py::test_ranged_big_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_versioning_obj_plain_null_version_removal", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_overwrite", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_overwrite_suspended", "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_metadata_replaced_on_put", "s3tests_boto3/functional/test_s3.py::test_object_write_file" ], "skip": false, "comment": "" }, { "name": "GetObjectAcl", "tag": "API", "tests": [], "include": [ "ObjectACL" ], "skip": true, "comment": "Not supported" }, { "name": "GetObjectAttributes", "tag": "API", "tests": [], "skip": false, "comment": "Supported, but there are not compatibility tests" }, { "name": "GetObjectLegalHold", "tag": "API", "tests": [], "include": [ "Locking" ], "skip": true, "comment": "Not supported. See Locking Feature" }, { "name": "GetObjectLockConfiguration", "tag": "API", "tests": [], "include": [ "Locking" ], "skip": true, "comment": "Not supported. See Locking Feature" }, { "name": "GetObjectRetention", "tag": "API", "tests": [], "include": [ "Locking" ], "skip": true, "comment": "Not supported. See Locking Feature" }, { "name": "GetObjectTagging", "tag": "API", "tests": [], "include": [ "ObjectTagging" ], "skip": false, "comment": "See ObjectTagging feature" }, { "name": "GetObjectTorrent", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_get_object_torrent" ], "skip": true, "comment": "Not applicable or will never be supported" }, { "name": "GetPublicAccessBlock", "tag": "API", "tests": [], "include": [ "PublicAccessBlock" ], "skip": false, "comment": "See PublicAccessBlock feature" }, { "name": "HeadBucket", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_head", "s3tests_boto3/functional/test_s3.py::test_bucket_head_notexist" ], "skip": false, "comment": "" }, { "name": "HeadObject", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_object_head_zero_bytes", "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_get_obj_head_tagging" ], "skip": false, "comment": "" }, { "name": "ListBucketAnalyticsConfigurations", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "ListBucketIntelligentTieringConfigurations", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "ListBucketInventoryConfigurations", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "ListBucketMetricsConfigurations", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "ListBuckets", "tag": "API", "tests": [ "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_list_buckets_invalid_auth", "s3tests_boto3/functional/test_s3.py::test_list_buckets_bad_auth", "s3tests_boto3/functional/test_s3.py::test_bucket_list_empty", "s3tests_boto3/functional/test_s3.py::test_bucket_list_distinct" ], "skip": false, "comment": "" }, { "name": "ListMultipartUploads", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_list_multipart_upload" ], "skip": false, "comment": "" }, { "name": "ListObjects", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_invalid", "s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous_fail", "s3tests_boto3/functional/test_s3.py::test_bucket_notexist", "s3tests_boto3/functional/test_s3.py::test_bucket_list_many", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_basic", "s3tests_boto3/functional/test_s3.py::test_bucket_list_encoding_basic", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_alt", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_percentage", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_whitespace", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_dot", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_unreadable", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_empty", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_none", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_exist", "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_alt", "s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_empty", "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_list_prefix_unreadable", "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_list_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_list_maxkeys_zero", "s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_none", "s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_none", "s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_empty", "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_list_marker_after_list", "s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous", "s3tests_boto3/functional/test_s3.py::test_multi_object_delete", "s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix", "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_underscore", "s3tests_boto3/functional/test_s3.py::test_bucket_list_special_prefix" ], "skip": false, "comment": "" }, { "name": "ListObjectsV2", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous_fail", "s3tests_boto3/functional/test_s3.py::test_bucketv2_notexist", "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_listv2_delimiter_basic", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_encoding_basic", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_alt", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_ends_with_delimiter", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_alt", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_underscore", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_percentage", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_whitespace", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_dot", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_unreadable", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_empty", "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_listv2_fetchowner_empty", "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_listv2_prefix_alt", "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_listv2_prefix_not_exist", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_unreadable", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_basic", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_alt", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_not_exist", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_delimiter_not_exist", "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_listv2_maxkeys_zero", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_none", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_both_continuationtoken_startafter", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_unreadable", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_not_in_list", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_after_list", "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous", "s3tests_boto3/functional/test_s3.py::test_multi_objectv2_delete" ], "skip": false, "comment": "" }, { "name": "ListObjectVersions", "tag": "API", "tests": [], "include": [ "BucketVersioning" ], "skip": false, "comment": "See BucketVersioning feature" }, { "name": "ListParts", "tag": "API", "tests": [], "skip": false, "comment": "Supported, but there are not compatibility tests" }, { "name": "PutBucketAccelerateConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not applicable or will never be supported" }, { "name": "PutBucketAcl", "tag": "API", "tests": [], "include": [ "BucketACL" ], "skip": false, "comment": "See BucketACL feature" }, { "name": "PutBucketAnalyticsConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketCors", "tag": "API", "tests": [], "include": [ "BucketCors" ], "skip": false, "comment": "See BucketCors Feature" }, { "name": "PutBucketEncryption", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_put_bucket_encryption_s3", "s3tests_boto3/functional/test_s3.py::test_put_bucket_encryption_kms", "s3tests_boto3/functional/test_s3.py::test_sse_s3_default_method_head", "s3tests_boto3/functional/test_s3.py::test_sse_s3_default_multipart_upload", "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_s3.py::test_sse_s3_default_upload_1b", "s3tests_boto3/functional/test_s3.py::test_sse_kms_default_upload_1b", "s3tests_boto3/functional/test_s3.py::test_sse_s3_default_upload_1kb", "s3tests_boto3/functional/test_s3.py::test_sse_kms_default_upload_1kb", "s3tests_boto3/functional/test_s3.py::test_sse_s3_default_upload_1mb", "s3tests_boto3/functional/test_s3.py::test_sse_kms_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_8mb" ], "skip": true, "comment": "Not supported" }, { "name": "PutBucketIntelligentTieringConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketInventoryConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketLifecycle", "tag": "API", "tests": [], "include": [], "skip": true, "comment": "Not supported. This method is deprecated by AWS. Use PutBucketLifecycleConfiguration" }, { "name": "PutBucketLifecycleConfiguration", "tag": "API", "tests": [], "include": [ "BucketLifecycle" ], "skip": false, "comment": "See BucketLifecycle feature" }, { "name": "PutBucketLogging", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_logging_toggle" ], "skip": true, "comment": "Not supported" }, { "name": "PutBucketMetricsConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketNotification", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketNotificationConfiguration", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketOwnershipControls", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketPolicy", "tag": "API", "tests": [], "include": [ "BucketPolicy" ], "skip": false, "comment": "See BucketPolicy feature" }, { "name": "PutBucketReplication", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutBucketRequestPayment", "tag": "API", "tests": [], "skip": true, "comment": "Not applicable or will never be supported" }, { "name": "PutBucketTagging", "tag": "API", "tests": [], "include": [ "BucketTagging" ], "skip": false, "comment": "See BucketTagging feature" }, { "name": "PutBucketVersioning", "tag": "API", "tests": [], "include": [ "BucketVersioning" ], "skip": false, "comment": "See BucketVersioning feature" }, { "name": "PutBucketWebsite", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "PutObject", "tag": "API", "tests": [ "s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_invalid_short", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_bad", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_empty", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_none", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_expect_empty", "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_s3.py::test_object_write_check_etag", "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_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_metadata_replaced_on_put", "s3tests_boto3/functional/test_s3.py::test_object_write_file", "s3tests_boto3/functional/test_s3.py::test_object_anon_put", "s3tests_boto3/functional/test_s3.py::test_object_anon_put_write_access", "s3tests_boto3/functional/test_s3.py::test_object_put_authenticated", "s3tests_boto3/functional/test_s3.py::test_object_raw_put_authenticated_expired", "s3tests_boto3/functional/test_s3.py::test_object_write_to_nonexist_bucket" ], "skip": false, "comment": "" }, { "name": "PutObjectAcl", "tag": "API", "tests": [], "include": [ "ObjectACL" ], "skip": true, "comment": "Not supported" }, { "name": "PutObjectLegalHold", "tag": "API", "tests": [], "include": [ "Locking" ], "skip": true, "comment": "Not supported. See Locking Feature" }, { "name": "PutObjectLockConfiguration", "tag": "API", "tests": [], "include": [ "Locking" ], "skip": true, "comment": "Not supported. See Locking Feature" }, { "name": "PutObjectRetention", "tag": "API", "tests": [], "include": [ "Locking" ], "skip": true, "comment": "Not supported. See Locking Feature" }, { "name": "PutObjectTagging", "tag": "API", "tests": [], "include": [ "ObjectTagging" ], "skip": false, "comment": "See ObjectTagging feature" }, { "name": "PutPublicAccessBlock", "tag": "API", "tests": [], "include": [ "PublicAccessBlock" ], "skip": false, "comment": "See PublicAccessBlock feature" }, { "name": "RestoreObject", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "SelectObjectContent", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3select.py::test_generate_where_clause", "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_count_json_operation", "s3tests_boto3/functional/test_s3select.py::test_json_column_sum_min_max", "s3tests_boto3/functional/test_s3select.py::test_json_nullif_expressions", "s3tests_boto3/functional/test_s3select.py::test_column_sum_min_max", "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_is_not_null_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_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_complex_expressions", "s3tests_boto3/functional/test_s3select.py::test_alias", "s3tests_boto3/functional/test_s3select.py::test_alias_cyclic_refernce", "s3tests_boto3/functional/test_s3select.py::test_datetime", "s3tests_boto3/functional/test_s3select.py::test_true_false_datetime", "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_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_cast_expressions", "s3tests_boto3/functional/test_s3select.py::test_version", "s3tests_boto3/functional/test_s3select.py::test_trim_expressions", "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_case_value_expressions", "s3tests_boto3/functional/test_s3select.py::test_bool_cast_expressions", "s3tests_boto3/functional/test_s3select.py::test_progress_expressions", "s3tests_boto3/functional/test_s3select.py::test_output_serial_expressions" ], "skip": true, "comment": "Not supported" }, { "name": "UploadPart", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_object_copy_versioning_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_empty", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_multiple_sizes", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_size_too_small", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_contents", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_overwrite_existing_object", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_missing_part", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_incorrect_etag", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_overwrite_multipart", "s3tests_boto3/functional/test_s3.py::test_versioning_bucket_multipart_upload_return_version_id", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_on_a_bucket_with_policy", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_resend_part", "s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload_not_found", "s3tests_boto3/functional/test_s3.py::test_atomic_multipart_upload_write", "s3tests_boto3/functional/test_s3.py::test_list_multipart_upload" ], "skip": false, "comment": "" }, { "name": "UploadPartCopy", "tag": "API", "tests": [ "s3tests_boto3/functional/test_s3.py::test_multipart_copy_small", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_invalid_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_improper_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_without_range", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_special_names", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_versioned", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_multiple_sizes" ], "skip": false, "comment": "" }, { "name": "WriteGetObjectResponse", "tag": "API", "tests": [], "skip": true, "comment": "Not supported" }, { "name": "BucketPolicy", "tag": "Features", "tests": [ "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_get_tags_acl_public", "s3tests_boto3/functional/test_s3.py::test_put_tags_acl_public", "s3tests_boto3/functional/test_s3.py::test_delete_tags_obj_public", "s3tests_boto3/functional/test_s3.py::test_bucket_policy_get_obj_existing_tag", "s3tests_boto3/functional/test_s3.py::test_bucket_policy_get_obj_tagging_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_get_obj_acl_existing_tag", "s3tests_boto3/functional/test_s3.py::test_multipart_upload_on_a_bucket_with_policy" ], "skip": false, "comment": "" }, { "name": "BucketCors", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_set_cors", "s3tests_boto3/functional/test_s3.py::test_cors_origin_response", "s3tests_boto3/functional/test_s3.py::test_cors_origin_wildcard", "s3tests_boto3/functional/test_s3.py::test_cors_header_option" ], "skip": false, "comment": "" }, { "name": "BucketLifecycle", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_lifecycle_get", "s3tests_boto3/functional/test_s3.py::test_lifecycle_get_no_id", "s3tests_boto3/functional/test_s3.py::test_lifecycle_set", "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_date", "s3tests_boto3/functional/test_s3.py::test_lifecycle_set_invalid_date", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_days0", "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_and_tags_head", "s3tests_boto3/functional/test_s3.py::test_lifecycle_set_noncurrent", "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_set_empty_filter", "s3tests_boto3/functional/test_s3.py::test_lifecycle_set_multipart" ], "skip": false, "comment": "Transition is not supported" }, { "name": "BucketTagging", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_set_bucket_tagging" ], "skip": false, "comment": "" }, { "name": "ObjectTagging", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_put_delete_tags", "s3tests_boto3/functional/test_s3.py::test_get_obj_tagging", "s3tests_boto3/functional/test_s3.py::test_put_max_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_put_obj_with_tags", "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_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" ], "skip": false, "comment": "" }, { "name": "BucketACL", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_headers.py::test_bucket_put_bad_canned_acl", "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_bucket_acl_canned_private_to_private", "s3tests_boto3/functional/test_s3.py::test_100_continue", "s3tests_boto3/functional/test_s3.py::test_block_public_put_bucket_acls", "s3tests_boto3/functional/test_s3.py::test_bucket_concurrent_set_canned_acl" ], "skip": false, "comment": "Partly supported. Only restricted canned acl can be applied" }, { "name": "BucketVersioning", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock", "s3tests_boto3/functional/test_s3.py::test_multipart_copy_versioned", "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_plain_null_version_overwrite", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_plain_null_version_overwrite_suspended", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_read_remove", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_read_remove_head", "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_create_versions_remove_special_names", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_create_overwrite_multipart", "s3tests_boto3/functional/test_s3.py::test_versioning_obj_list_marker", "s3tests_boto3/functional/test_s3.py::test_versioning_copy_obj_version", "s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete", "s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete_with_marker", "s3tests_boto3/functional/test_s3.py::test_versioned_concurrent_object_create_concurrent_remove", "s3tests_boto3/functional/test_s3.py::test_versioned_concurrent_object_create_and_remove", "s3tests_boto3/functional/test_s3.py::test_versioning_bucket_atomic_upload_return_version_id", "s3tests_boto3/functional/test_s3.py::test_versioning_bucket_multipart_upload_return_version_id", "s3tests_boto3/functional/test_s3.py::test_versioning_multi_object_delete_with_marker_create", "s3tests_boto3/functional/test_s3.py::test_versioning_concurrent_multi_object_delete" ], "skip": false, "comment": "Limitations: \n1. Don't create delete marker for non-existing objects" }, { "name": "MultipartUpload", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_multipart_upload" ], "include": [ "AbortMultipartUpload", "CompleteMultipartUpload", "ListMultipartUploads", "UploadPart", "UploadPartCopy", "ListParts" ], "skip": false, "comment": "" }, { "name": "Encryption", "tag": "Features", "tests": [ "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_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_1", "s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_invalid_chunks_2", "s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_method_head", "s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_unaligned_multipart_upload", "s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_bad_download" ], "skip": false, "comment": "Only sse-c currently supported" }, { "name": "PublicAccessBlock", "tag": "Features", "tests": [ "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_get_public_block_deny_bucket_policy", "s3tests_boto3/functional/test_s3.py::test_get_undefined_public_block" ], "skip": false, "comment": "" }, { "name": "PostObject", "tag": "Features", "tests": [], "skip": true, "comment": "No tests for SigV4" }, { "name": "aws_v2_signature", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_headers.py::test_object_create_bad_md5_invalid_garbage_aws2", "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_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_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_today_aws2", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_date_before_epoch_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_authorization_invalid_aws2", "s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_after_today_aws2", "s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_date_before_epoch_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_empty_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_ua_empty_aws2", "s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_ua_none_aws2", "s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_s3_noenc", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_get_object_v2", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_get_object_tenant_v2", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_put_object_v2", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_put_object_tenant_v2", "s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_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_authenticated_request", "s3tests_boto3/functional/test_s3.py::test_post_object_authenticated_request_bad_access_key", "s3tests_boto3/functional/test_s3.py::test_post_object_case_insensitive_condition_fields", "s3tests_boto3/functional/test_s3.py::test_post_object_condition_is_case_sensitive", "s3tests_boto3/functional/test_s3.py::test_post_object_empty_conditions", "s3tests_boto3/functional/test_s3.py::test_post_object_escaped_field_values", "s3tests_boto3/functional/test_s3.py::test_post_object_expired_policy", "s3tests_boto3/functional/test_s3.py::test_post_object_expires_is_case_sensitive", "s3tests_boto3/functional/test_s3.py::test_post_object_ignored_header", "s3tests_boto3/functional/test_s3.py::test_post_object_invalid_access_key", "s3tests_boto3/functional/test_s3.py::test_post_object_invalid_content_length_argument", "s3tests_boto3/functional/test_s3.py::test_post_object_invalid_date_format", "s3tests_boto3/functional/test_s3.py::test_post_object_invalid_request_field_value", "s3tests_boto3/functional/test_s3.py::test_post_object_invalid_signature", "s3tests_boto3/functional/test_s3.py::test_post_object_missing_conditions_list", "s3tests_boto3/functional/test_s3.py::test_post_object_missing_content_length_argument", "s3tests_boto3/functional/test_s3.py::test_post_object_missing_expires_condition", "s3tests_boto3/functional/test_s3.py::test_post_object_missing_policy_condition", "s3tests_boto3/functional/test_s3.py::test_post_object_missing_signature", "s3tests_boto3/functional/test_s3.py::test_post_object_no_key_specified", "s3tests_boto3/functional/test_s3.py::test_post_object_request_missing_policy_specified_field", "s3tests_boto3/functional/test_s3.py::test_post_object_set_key_from_filename", "s3tests_boto3/functional/test_s3.py::test_post_object_success_redirect_action", "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_post_object_upload_larger_than_chunk", "s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_below_minimum", "s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_limit_exceeded", "s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_rgw_chunk_size_bug", "s3tests_boto3/functional/test_s3.py::test_post_object_user_specified_header", "s3tests_boto3/functional/test_s3.py::test_post_object_wrong_bucket" ], "skip": true, "comment": "Not supported. AWS v2 signature is deprecated." }, { "name": "Locking", "tag": "Features", "tests": [ "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_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_uploading_obj", "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", "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", "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_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_object_lock_multi_delete_object_with_retention", "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_lock_put_obj_lock_invalid_mode", "s3tests_boto3/functional/test_s3.py::test_object_lock_delete_multipart_object_with_legal_hold_on", "s3tests_boto3/functional/test_s3.py::test_object_lock_delete_multipart_object_with_retention" ], "skip": true, "comment": "Not supported" }, { "name": "ObjectACL", "tag": "Features", "tests": [ "s3tests_boto3/functional/test_s3.py::test_access_bucket_private_object_private", "s3tests_boto3/functional/test_s3.py::test_access_bucket_private_object_publicread", "s3tests_boto3/functional/test_s3.py::test_access_bucket_private_object_publicreadwrite", "s3tests_boto3/functional/test_s3.py::test_access_bucket_private_objectv2_private", "s3tests_boto3/functional/test_s3.py::test_access_bucket_private_objectv2_publicread", "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_access_bucket_publicreadwrite_object_publicreadwrite", "s3tests_boto3/functional/test_s3.py::test_bucket_create_special_key_names", "s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_acl", "s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_grant", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_get_object", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_get_object_tenant", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_put_object", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_put_object_with_acl", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_put_object_tenant", "s3tests_boto3/functional/test_s3.py::test_cors_presigned_put_object_tenant_with_acl", "s3tests_boto3/functional/test_s3.py::test_object_presigned_put_object_with_acl", "s3tests_boto3/functional/test_s3.py::test_object_presigned_put_object_with_acl_tenant", "s3tests_boto3/functional/test_s3.py::test_object_acl", "s3tests_boto3/functional/test_s3.py::test_object_acl_canned", "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_canned_bucketownerread", "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_create_contentlength_none", "s3tests_boto3/functional/test_s3.py::test_object_acl_default", "s3tests_boto3/functional/test_s3.py::test_object_acl_full_control_verify_attributes", "s3tests_boto3/functional/test_s3.py::test_object_acl_full_control_verify_owner", "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_object_acl_write", "s3tests_boto3/functional/test_s3.py::test_object_acl_writeacp", "s3tests_boto3/functional/test_s3.py::test_object_copy_canned_acl", "s3tests_boto3/functional/test_s3.py::test_object_copy_not_owned_object_bucket", "s3tests_boto3/functional/test_s3.py::test_object_delete_key_bucket_gone", "s3tests_boto3/functional/test_s3.py::test_object_put_acl_mtime", "s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated", "s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_bucket_acl", "s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_bucket_gone", "s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_acl", "s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_gone", "s3tests_boto3/functional/test_s3.py::test_object_raw_get", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_bucket_acl", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_bucket_gone", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_object_acl", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_object_gone", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_not_expired", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_not_expired_tenant", "s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_max_range", "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_range_zero", "s3tests_boto3/functional/test_s3.py::test_object_raw_response_headers", "s3tests_boto3/functional/test_s3.py::test_post_object_anonymous_request", "s3tests_boto3/functional/test_s3.py::test_post_object_set_invalid_success_code", "s3tests_boto3/functional/test_s3.py::test_post_object_set_success_code", "s3tests_boto3/functional/test_s3.py::test_versioned_object_acl", "s3tests_boto3/functional/test_s3.py::test_versioned_object_acl_no_version_specified" ], "skip": true, "comment": "Not supported" }, { "name": "Atomicity", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_1mb", "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_atomic_read_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_1mb", "s3tests_boto3/functional/test_s3.py::test_atomic_write_4mb", "s3tests_boto3/functional/test_s3.py::test_atomic_write_8mb" ], "skip": true, "comment": "Passed but don't fit any API related group, so skip" }, { "name": "Bucket canned ACL, owner full control", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned", "s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned_authenticatedread", "s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned_during_create", "s3tests_boto3/functional/test_s3.py::test_bucket_acl_canned_publicreadwrite", "s3tests_boto3/functional/test_s3.py::test_bucket_acl_default" ], "skip": true, "comment": "Not supported, Full Control to bucket owner is required" }, { "name": "Bucket ACL, using payload", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_nonexist_user", "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_header_acl_grants" ], "skip": true, "comment": "Not supported, Full Control to bucket owner is required" }, { "name": "Email checking", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_email", "s3tests_boto3/functional/test_s3.py::test_bucket_acl_grant_email_not_exist" ], "skip": true, "comment": "Not supported, email checking" }, { "name": "Authorization header manipulating", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_authorization_empty", "s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_authorization_none" ], "skip": true, "comment": "Bad test, railed_on_rwg, # TODO: remove 'fails_on_rgw' and once we have learned how to manipulate the authorization header" }, { "name": "test_bucket_create_bad_expect_mismatch", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_headers.py::test_bucket_create_bad_expect_mismatch" ], "skip": true, "comment": "Don't support 'Expect: 200'" }, { "name": "test_bucket_create_exists", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_create_exists" ], "skip": true, "comment": "Bad test. Incorrect asserting response error" }, { "name": "Checking object owner", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_list_return_data", "s3tests_boto3/functional/test_s3.py::test_bucket_list_return_data_versioning", "s3tests_boto3/functional/test_s3.py::test_list_multipart_upload_owner" ], "skip": true, "comment": "Checking object owner. In s3-gw it's always gate key." }, { "name": "test_bucket_listv2_continuationtoken_empty", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken_empty" ], "skip": true, "comment": "Empty continuation token not supported" }, { "name": "authenticated-read bucket acl", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_policy_acl", "s3tests_boto3/functional/test_s3.py::test_bucketv2_policy_acl" ], "skip": true, "comment": "authenticated-read bucket ACL not supported" }, { "name": "any bucket as resource in bucket policy", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_policy_another_bucket", "s3tests_boto3/functional/test_s3.py::test_bucketv2_policy_another_bucket" ], "skip": true, "comment": "Bucket policy with 'arn:aws:s3:::*' resource not supported" }, { "name": "tenants", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_policy_different_tenant", "s3tests_boto3/functional/test_s3.py::test_bucketv2_policy_different_tenant" ], "skip": true, "comment": "Such tenants not supported" }, { "name": "kms", "tag": "Ignored", "tests": [ "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_bucket_policy_put_obj_s3_kms", "s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_bad_enc_kms", "s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_c_kms", "s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_c_s3", "s3tests_boto3/functional/test_s3.py::test_put_obj_enc_conflict_s3_kms", "s3tests_boto3/functional/test_s3.py::test_sse_kms_method_head", "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_multipart_upload", "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_post_object_authenticated_request", "s3tests_boto3/functional/test_s3.py::test_sse_kms_present", "s3tests_boto3/functional/test_s3.py::test_sse_kms_read_declare", "s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_13b", "s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_1MB", "s3tests_boto3/functional/test_s3.py::test_sse_kms_transfer_1b" ], "skip": true, "comment": "KMS not supported" }, { "name": "sse_s3", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_sse_s3_encrypted_upload_1b", "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" ], "skip": true, "comment": "sse_s3 not supported" }, { "name": "alternative client in different account", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_policy_put_obj_request_obj_tag", "s3tests_boto3/functional/test_s3.py::test_object_copy_not_owned_bucket" ], "skip": true, "comment": "Alternative client must be in different namespace. Couldn't be used without additional header." }, { "name": "test_bucket_policy_set_condition_operator_end_with_IfExists", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_policy_set_condition_operator_end_with_IfExists" ], "skip": true, "comment": "StringLikeIfExists operator not supported." }, { "name": "Recreate bucket with acl", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_recreate_new_acl", "s3tests_boto3/functional/test_s3.py::test_bucket_recreate_overwrite_acl" ], "skip": true, "comment": "Expected BucketAlreadyExists but s3-gw returns BucketAlreadyOwnedByYou because tests use the same client." }, { "name": "Recreate bucket", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_bucket_recreate_not_overriding" ], "skip": true, "comment": "Expect success on bucket recreate in default region https://git.frostfs.info/TrueCloudLab/frostfs-s3-gw/issues/537" }, { "name": "test_lifecycle_expiration_header_tags_head", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_header_tags_head" ], "skip": true, "comment": "Probably bad test, AWS fails, https://git.frostfs.info/TrueCloudLab/frostfs-s3-gw/issues/545" }, { "name": "get bucket policy status", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_get_authpublic_acl_bucket_policy_status", "s3tests_boto3/functional/test_s3.py::test_get_public_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_bucket_policy_status", "s3tests_boto3/functional/test_s3.py::test_get_nonpublicpolicy_acl_bucket_policy_status" ], "skip": true, "comment": "Not supported, S3 gate computes status based on policy, not on canned acl. AWS also fails" }, { "name": "Lifecycle transition", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_lifecycle_plain_null_version_current_transition", "s3tests_boto3/functional/test_s3.py::test_lifecycle_set_noncurrent_transition", "s3tests_boto3/functional/test_s3.py::test_lifecycle_transition", "s3tests_boto3/functional/test_s3.py::test_lifecycle_transition_set_invalid_date", "s3tests_boto3/functional/test_s3.py::test_lifecycle_transition_single_rule_multi_trans" ], "skip": true, "comment": "Lifecycle transition not supported." }, { "name": "Repeated complete multipart upload", "tag": "Ignored", "tests": [ "s3tests_boto3/functional/test_s3.py::test_multipart_upload_small", "s3tests_boto3/functional/test_s3.py::test_multipart_upload" ], "skip": true, "comment": "https://git.frostfs.info/TrueCloudLab/frostfs-s3-gw/issues/530" }, { "name": "bad authorization tests", "tag": "Ignored", "tests": [ "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_empty", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_authorization_none", "s3tests_boto3/functional/test_headers.py::test_object_create_bad_contentlength_none", "s3tests_boto3/functional/test_headers.py::test_object_create_date_and_amz_date", "s3tests_boto3/functional/test_headers.py::test_object_read_unreadable", "s3tests_boto3/functional/test_headers.py::test_object_set_get_unicode_metadata", "s3tests_boto3/functional/test_s3.py::test_object_write_with_chunked_transfer_encoding", "s3tests_boto3/functional/test_s3.py::test_put_excess_tags" ], "skip": true, "comment": "Fails on aws though there are not fails_on_aws mark" }, { "name": "empty metadata", "tag": "Ignored", "tests": [ "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" ], "skip": true, "comment": "Empty metadata not supported" }, { "name": "fails_on_aws", "tag": "Ignored", "tests": [ "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_atomic_conditional_write_1mb", "s3tests_boto3/functional/test_s3.py::test_atomic_dual_conditional_write_1mb", "s3tests_boto3/functional/test_s3.py::test_atomic_write_bucket_gone", "s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_ip", "s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_bad_starts_nonalpha", "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_dash_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_dot_dot", "s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_long", "s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_dns_underscore", "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_head_extended", "s3tests_boto3/functional/test_s3.py::test_bucket_list_long_name", "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_lifecycle_cloud_multiple_transition", "s3tests_boto3/functional/test_s3.py::test_lifecycle_cloud_transition", "s3tests_boto3/functional/test_s3.py::test_lifecycle_cloud_transition_large_obj", "s3tests_boto3/functional/test_s3.py::test_lifecycle_deletemarker_expiration", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_date", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_newer_noncurrent", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_noncur_tags1", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_size_gt", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_size_lt", "s3tests_boto3/functional/test_s3.py::test_lifecycle_expiration_tags1", "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_versioning_enabled", "s3tests_boto3/functional/test_s3.py::test_lifecycle_multipart_expiration", "s3tests_boto3/functional/test_s3.py::test_lifecycle_noncur_cloud_transition", "s3tests_boto3/functional/test_s3.py::test_lifecycle_noncur_expiration", "s3tests_boto3/functional/test_s3.py::test_lifecycle_noncur_transition", "s3tests_boto3/functional/test_s3.py::test_lifecyclev2_expiration", "s3tests_boto3/functional/test_s3.py::test_list_buckets_anonymous", "s3tests_boto3/functional/test_s3.py::test_object_header_acl_grants", "s3tests_boto3/functional/test_s3.py::test_multipart_get_part", "s3tests_boto3/functional/test_s3.py::test_non_multipart_get_part", "s3tests_boto3/functional/test_s3.py::test_multipart_resend_first_finishes_last", "s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_failed", "s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_good", "s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_nonexisted_failed", "s3tests_boto3/functional/test_s3.py::test_put_object_ifmatch_overwrite_existed_good", "s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_failed", "s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_good", "s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_nonexisted_good", "s3tests_boto3/functional/test_s3.py::test_put_object_ifnonmatch_overwrite_existed_failed" ], "skip": true, "comment": "Fails on AWS" } ] }