diff --git a/cmd/versitygw/test.go b/cmd/versitygw/test.go index dd74f9c4..a4f9e753 100644 --- a/cmd/versitygw/test.go +++ b/cmd/versitygw/test.go @@ -124,6 +124,11 @@ func initTestCommands() []*cli.Command { }, }, }, + { + Name: "scoutfs", + Usage: "Tests scoutfs full flow", + Action: getAction(integration.TestScoutfs), + }, { Name: "iam", Usage: "Tests iam service", diff --git a/tests/integration/group-tests.go b/tests/integration/group-tests.go index 73888b15..a7eb42bb 100644 --- a/tests/integration/group-tests.go +++ b/tests/integration/group-tests.go @@ -659,6 +659,99 @@ func TestPosix(s *S3Conf) { } } +func TestScoutfs(s *S3Conf) { + TestAuthentication(s) + TestPresignedAuthentication(s) + TestCreateBucket(s) + TestHeadBucket(s) + TestListBuckets(s) + TestDeleteBucket(s) + TestPutBucketOwnershipControls(s) + TestGetBucketOwnershipControls(s) + TestDeleteBucketOwnershipControls(s) + TestPutBucketTagging(s) + TestGetBucketTagging(s) + TestDeleteBucketTagging(s) + TestPutObject(s) + TestHeadObject(s) + TestGetObjectAttributes(s) + TestGetObject(s) + TestListObjects(s) + TestListObjectsV2(s) + TestListObjectVersions_VD(s) + TestDeleteObject(s) + TestDeleteObjects(s) + TestCopyObject(s) + TestPutObjectTagging(s) + TestDeleteObjectTagging(s) + TestUploadPart(s) + TestUploadPartCopy(s) + TestListParts(s) + TestListMultipartUploads(s) + TestAbortMultipartUpload(s) + TestPutBucketAcl(s) + TestGetBucketAcl(s) + TestPutBucketPolicy(s) + TestGetBucketPolicy(s) + TestDeleteBucketPolicy(s) + TestPutObjectLockConfiguration(s) + TestGetObjectLockConfiguration(s) + TestPutObjectRetention(s) + TestGetObjectRetention(s) + TestPutObjectLegalHold(s) + TestGetObjectLegalHold(s) + TestWORMProtection(s) + TestAccessControl(s) + + CreateMultipartUpload_non_existing_bucket(s) + CreateMultipartUpload_with_tagging(s) + CreateMultipartUpload_with_object_lock(s) + CreateMultipartUpload_with_object_lock_not_enabled(s) + CreateMultipartUpload_with_object_lock_invalid_retention(s) + CreateMultipartUpload_past_retain_until_date(s) + CreateMultipartUpload_invalid_legal_hold(s) + CreateMultipartUpload_invalid_object_lock_mode(s) + CreateMultipartUpload_invalid_checksum_algorithm(s) + CreateMultipartUpload_empty_checksum_algorithm_with_checksum_type(s) + CreateMultipartUpload_invalid_checksum_type(s) + CreateMultipartUpload_valid_checksum_algorithm(s) + CreateMultipartUpload_success(s) + + CompletedMultipartUpload_non_existing_bucket(s) + CompleteMultipartUpload_incorrect_part_number(s) + CompleteMultipartUpload_invalid_part_number(s) + CompleteMultipartUpload_invalid_ETag(s) + CompleteMultipartUpload_small_upload_size(s) + CompleteMultipartUpload_empty_parts(s) + CompleteMultipartUpload_incorrect_parts_order(s) + CompleteMultipartUpload_mpu_object_size(s) + CompleteMultipartUpload_invalid_checksum_type(s) + CompleteMultipartUpload_invalid_checksum_part(s) + CompleteMultipartUpload_multiple_checksum_part(s) + CompleteMultipartUpload_incorrect_checksum_part(s) + CompleteMultipartUpload_different_checksum_part(s) + CompleteMultipartUpload_missing_part_checksum(s) + CompleteMultipartUpload_multiple_final_checksums(s) + CompleteMultipartUpload_invalid_final_checksums(s) + CompleteMultipartUpload_checksum_type_mismatch(s) + CompleteMultipartUpload_should_ignore_the_final_checksum(s) + CompleteMultipartUpload_success(s) + CompleteMultipartUpload_racey_success(s) + + // posix/scoutfs specific tests + PutObject_overwrite_dir_obj(s) + PutObject_overwrite_file_obj(s) + PutObject_overwrite_file_obj_with_nested_obj(s) + PutObject_dir_obj_with_data(s) + CreateMultipartUpload_dir_obj(s) + PutObject_name_too_long(s) + HeadObject_name_too_long(s) + DeleteObject_name_too_long(s) + CopyObject_overwrite_same_dir_object(s) + CopyObject_overwrite_same_file_object(s) + DeleteObject_directory_not_empty(s) +} + func TestIAM(s *S3Conf) { IAM_user_access_denied(s) IAM_userplus_access_denied(s)