mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-16 17:20:33 +00:00
131 lines
4.6 KiB
Plaintext
131 lines
4.6 KiB
Plaintext
# Implemented S3 feature tests
|
|
# ============================
|
|
#
|
|
# These tests SHOULD PASS on RustFS for standard S3 API compatibility.
|
|
# Run these tests to verify RustFS S3 compatibility.
|
|
#
|
|
# Covered operations:
|
|
# - Bucket: Create, Delete, List, Head, GetLocation
|
|
# - Object: Put, Get, Delete, Copy, Head
|
|
# - ListObjects/ListObjectsV2: prefix, delimiter, marker, maxkeys
|
|
# - Multipart Upload: Create, Upload, Complete, Abort, List
|
|
# - Tagging: Bucket and Object tags
|
|
# - Bucket Policy: Put, Get, Delete
|
|
# - Public Access Block: Put, Get, Delete
|
|
# - Presigned URLs: GET and PUT operations
|
|
# - Range requests: Partial object retrieval
|
|
# - Metadata: User-defined metadata
|
|
# - Conditional GET: If-Match, If-None-Match, If-Modified-Since
|
|
#
|
|
# Total: 109 tests
|
|
|
|
test_basic_key_count
|
|
test_bucket_create_naming_bad_short_one
|
|
test_bucket_create_naming_bad_short_two
|
|
test_bucket_create_naming_bad_starts_nonalpha
|
|
test_bucket_create_naming_dns_dash_at_end
|
|
test_bucket_create_naming_dns_dash_dot
|
|
test_bucket_create_naming_dns_dot_dash
|
|
test_bucket_create_naming_dns_dot_dot
|
|
test_bucket_create_naming_dns_underscore
|
|
test_bucket_create_naming_good_contains_hyphen
|
|
test_bucket_create_naming_good_contains_period
|
|
test_bucket_create_naming_good_long_60
|
|
test_bucket_create_naming_good_long_61
|
|
test_bucket_create_naming_good_long_62
|
|
test_bucket_create_naming_good_long_63
|
|
test_bucket_create_naming_good_starts_alpha
|
|
test_bucket_create_naming_good_starts_digit
|
|
test_bucket_delete_nonempty
|
|
test_bucket_delete_notexist
|
|
test_bucket_head
|
|
test_bucket_head_notexist
|
|
test_bucket_list_distinct
|
|
test_bucket_list_empty
|
|
test_bucket_list_long_name
|
|
test_bucket_list_marker_after_list
|
|
test_bucket_list_marker_empty
|
|
test_bucket_list_marker_none
|
|
test_bucket_list_marker_not_in_list
|
|
test_bucket_list_marker_unreadable
|
|
test_bucket_list_maxkeys_invalid
|
|
test_bucket_list_maxkeys_none
|
|
test_bucket_list_maxkeys_zero
|
|
test_bucket_list_prefix_alt
|
|
test_bucket_list_prefix_basic
|
|
test_bucket_list_prefix_delimiter_alt
|
|
test_bucket_list_prefix_delimiter_basic
|
|
test_bucket_list_prefix_delimiter_delimiter_not_exist
|
|
test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist
|
|
test_bucket_list_prefix_delimiter_prefix_not_exist
|
|
test_bucket_list_prefix_empty
|
|
test_bucket_list_prefix_none
|
|
test_bucket_list_prefix_not_exist
|
|
test_bucket_list_prefix_unreadable
|
|
test_bucket_list_special_prefix
|
|
test_bucket_listv2_continuationtoken
|
|
test_bucket_listv2_continuationtoken_empty
|
|
test_bucket_listv2_fetchowner_defaultempty
|
|
test_bucket_listv2_fetchowner_empty
|
|
test_bucket_listv2_fetchowner_notempty
|
|
test_bucket_listv2_maxkeys_none
|
|
test_bucket_listv2_maxkeys_zero
|
|
test_bucket_listv2_prefix_alt
|
|
test_bucket_listv2_prefix_basic
|
|
test_bucket_listv2_prefix_delimiter_alt
|
|
test_bucket_listv2_prefix_delimiter_basic
|
|
test_bucket_listv2_prefix_delimiter_delimiter_not_exist
|
|
test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist
|
|
test_bucket_listv2_prefix_delimiter_prefix_not_exist
|
|
test_bucket_listv2_prefix_empty
|
|
test_bucket_listv2_prefix_none
|
|
test_bucket_listv2_prefix_not_exist
|
|
test_bucket_listv2_prefix_unreadable
|
|
test_bucket_listv2_startafter_after_list
|
|
test_bucket_listv2_startafter_not_in_list
|
|
test_bucket_listv2_startafter_unreadable
|
|
test_bucket_notexist
|
|
test_buckets_create_then_list
|
|
test_buckets_list_ctime
|
|
test_bucketv2_notexist
|
|
test_bucketv2_policy_another_bucket
|
|
test_get_bucket_policy_status
|
|
test_get_nonpublicpolicy_principal_bucket_policy_status
|
|
test_get_object_ifmatch_good
|
|
test_get_object_ifmodifiedsince_good
|
|
test_get_object_ifunmodifiedsince_failed
|
|
test_list_buckets_bad_auth
|
|
test_multi_object_delete
|
|
test_multi_object_delete_key_limit
|
|
test_multi_objectv2_delete
|
|
test_multi_objectv2_delete_key_limit
|
|
test_multipart_copy_without_range
|
|
test_multipart_upload_empty
|
|
test_multipart_upload_incorrect_etag
|
|
test_multipart_upload_missing_part
|
|
test_multipart_upload_multiple_sizes
|
|
test_multipart_upload_on_a_bucket_with_policy
|
|
test_multipart_upload_overwrite_existing_object
|
|
test_multipart_upload_size_too_small
|
|
test_object_copy_bucket_not_found
|
|
test_object_copy_key_not_found
|
|
test_object_copy_not_owned_object_bucket
|
|
test_object_head_zero_bytes
|
|
test_object_metadata_replaced_on_put
|
|
test_object_put_authenticated
|
|
test_object_read_not_exist
|
|
test_object_set_get_metadata_none_to_empty
|
|
test_object_set_get_metadata_none_to_good
|
|
test_object_set_get_metadata_overwrite_to_empty
|
|
test_object_write_cache_control
|
|
test_object_write_check_etag
|
|
test_object_write_expires
|
|
test_object_write_file
|
|
test_object_write_read_update_read_delete
|
|
test_object_write_to_nonexist_bucket
|
|
test_put_max_kvsize_tags
|
|
test_ranged_request_empty_object
|
|
test_ranged_request_invalid_range
|
|
test_set_multipart_tagging
|
|
test_upload_part_copy_percent_encoded_key
|