Merge pull request #1282 from versity/test/remove_some_setup_clients

Test/remove some setup clients
This commit is contained in:
Ben McClelland
2025-05-16 16:48:28 -07:00
committed by GitHub
14 changed files with 65 additions and 96 deletions

View File

@@ -148,10 +148,10 @@ teardown() {
log 4 "********** BEGIN TEARDOWN **********"
if [ "$DELETE_BUCKETS_AFTER_TEST" != "false" ]; then
log 5 "deleting or clearing buckets"
if ! bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"; then
if ! bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"; then
log 3 "error deleting bucket $BUCKET_ONE_NAME or contents"
fi
if ! bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_TWO_NAME"; then
if ! bucket_cleanup_if_bucket_exists "$BUCKET_TWO_NAME"; then
log 3 "error deleting bucket $BUCKET_TWO_NAME or contents"
fi
fi

View File

@@ -14,36 +14,36 @@
# specific language governing permissions and limitations
# under the License.
source ./tests/drivers/drivers.sh
source ./tests/env.sh
source ./tests/util/util_object.sh
source ./tests/commands/create_bucket.sh
create_bucket_if_not_exists() {
if [[ $# -ne 2 ]]; then
log 2 "create_bucket_if_not_exists command missing command type, name"
if ! check_param_count "create_bucket_if_not_exists" "bucket name" 1 $#; then
return 1
fi
bucket_exists "$1" "$2" || local exists_result=$?
bucket_exists "$1" || local exists_result=$?
if [[ $exists_result -eq 2 ]]; then
log 2 "error checking if bucket exists"
return 1
fi
if [[ $exists_result -eq 0 ]]; then
echo "bucket '$2' already exists, skipping"
echo "bucket '$1' already exists, skipping"
return 0
fi
if ! create_bucket_object_lock_enabled "$2"; then
if ! create_bucket_object_lock_enabled "$1"; then
log 2 "error creating bucket"
return 1
fi
echo "bucket '$2' successfully created"
echo "bucket '$1' successfully created"
return 0
}
base_setup
if ! create_bucket_if_not_exists "s3api" "$BUCKET_ONE_NAME"; then
if ! create_bucket_if_not_exists "$BUCKET_ONE_NAME"; then
log 2 "error creating static bucket one"
elif ! create_bucket_if_not_exists "s3api" "$BUCKET_TWO_NAME"; then
elif ! create_bucket_if_not_exists "$BUCKET_TWO_NAME"; then
log 2 "error creating static bucket two"
fi

View File

@@ -64,9 +64,6 @@ test_common_multipart_upload() {
run download_and_compare_file "$1" "$TEST_FILE_FOLDER/$bucket_file" "$BUCKET_ONE_NAME" "$bucket_file" "$TEST_FILE_FOLDER/$bucket_file-copy"
assert_success
bucket_cleanup "$1" "$BUCKET_ONE_NAME"
delete_test_files $bucket_file
}
# common test for creating, deleting buckets
@@ -80,13 +77,13 @@ test_common_create_delete_bucket() {
run check_param_count "test_common_create_delete_bucket" "client type" 1 "$#"
assert_success
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
run create_bucket "$1" "$BUCKET_ONE_NAME"
assert_success
run bucket_exists "$1" "$BUCKET_ONE_NAME"
run bucket_exists "$BUCKET_ONE_NAME"
assert_success
run delete_bucket "$1" "$BUCKET_ONE_NAME"

View File

@@ -14,6 +14,11 @@
# specific language governing permissions and limitations
# under the License.
if [ "$SKIP_ACL_TESTING" == "true" ]; then
skip "Skipping ACL tests"
exit 0
fi
test_put_bucket_acl_s3cmd() {
if [ "$DIRECT" != "true" ]; then
skip "https://github.com/versity/versitygw/issues/963"

View File

@@ -111,10 +111,10 @@ test_file="test_file"
test_key="TestKey"
test_value="TestValue"
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
# in static bucket config, bucket will still exist
if ! bucket_exists "rest" "$BUCKET_ONE_NAME"; then
if ! bucket_exists "$BUCKET_ONE_NAME"; then
run create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"
assert_success
fi
@@ -388,11 +388,11 @@ test_file="test_file"
if [ "$RECREATE_BUCKETS" == "false" ] || [[ ( -z "$VERSIONING_DIR" ) && ( "$DIRECT" != "true" ) ]]; then
skip "test isn't valid for this configuration"
fi
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
# in static bucket config, bucket will still exist
if ! bucket_exists "rest" "$BUCKET_ONE_NAME"; then
if ! bucket_exists "$BUCKET_ONE_NAME"; then
run create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"
assert_success
fi
@@ -414,11 +414,11 @@ test_file="test_file"
if [ "$RECREATE_BUCKETS" == "false" ] || [[ ( -z "$VERSIONING_DIR" ) && ( "$DIRECT" != "true" ) ]]; then
skip "test isn't valid for this configuration"
fi
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
# in static bucket config, bucket will still exist
if ! bucket_exists "rest" "$BUCKET_ONE_NAME"; then
if ! bucket_exists "$BUCKET_ONE_NAME"; then
run create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"
assert_success
fi

View File

@@ -26,6 +26,11 @@ source ./tests/util/util_setup.sh
export RUN_USERS=true
if [ "$SKIP_ACL_TESTING" == "true" ]; then
skip "Skipping ACL tests"
exit 0
fi
@test "REST - get ACL" {
run setup_bucket "$BUCKET_ONE_NAME"
assert_success

View File

@@ -90,11 +90,11 @@ source ./tests/util/util_tags.sh
run check_no_object_lock_config_rest "$BUCKET_ONE_NAME"
assert_success
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
# in static bucket config, bucket will still exist
if ! bucket_exists "rest" "$BUCKET_ONE_NAME"; then
if ! bucket_exists "$BUCKET_ONE_NAME"; then
run create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"
assert_success
fi

View File

@@ -108,6 +108,9 @@ export RUN_USERS=true
if [ "$RECREATE_BUCKETS" == "false" ]; then
skip "skip test for static buckets"
fi
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
run bucket_info_without_bucket
assert_success
}

View File

@@ -215,7 +215,7 @@ test_retention_bypass_s3api_root() {
legal_hold_retention_setup() {
assert [ $# -eq 3 ]
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"
assert_success
run setup_user "$1" "$2" "user"

View File

@@ -42,7 +42,7 @@ test_admin_user() {
assert_success
if [ "$RECREATE_BUCKETS" == "true" ]; then
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_TWO_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_TWO_NAME"
assert_success
run create_bucket_with_user "s3api" "$BUCKET_TWO_NAME" "$admin_username" "$admin_password"
assert_success
@@ -85,7 +85,7 @@ test_user_user() {
assert_success
if [ "$RECREATE_BUCKETS" == "true" ]; then
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_TWO_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_TWO_NAME"
assert_success
run create_bucket "s3api" "$BUCKET_TWO_NAME"
assert_success
@@ -113,7 +113,7 @@ test_userplus_operation() {
assert_success
if [ "$RECREATE_BUCKETS" == "true" ]; then
run bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_TWO_NAME"
run bucket_cleanup_if_bucket_exists "$BUCKET_TWO_NAME"
assert_success
run create_bucket_with_user "s3api" "$BUCKET_TWO_NAME" "$username" "$password"
assert_success

View File

@@ -11,38 +11,14 @@ source ./tests/util/util_retention.sh
# fail if error
delete_bucket_recursive() {
log 6 "delete_bucket_recursive"
if [ $# -ne 2 ]; then
log 2 "'delete_bucket_recursive' requires client, bucket name"
if ! check_param_count "delete_bucket_recursive" "bucket name" 1 $#; then
return 1
fi
local exit_code=0
local error
if [[ $1 == 's3' ]]; then
error=$(aws --no-verify-ssl s3 rb s3://"$2" --force 2>&1) || exit_code="$?"
elif [[ $1 == 's3api' ]]; then
if ! delete_bucket_recursive_s3api "$2"; then
log 2 "error deleting bucket recursively (s3api)"
return 1
fi
return 0
elif [[ $1 == "s3cmd" ]]; then
error=$(s3cmd "${S3CMD_OPTS[@]}" --no-check-certificate rb s3://"$2" --recursive 2>&1) || exit_code="$?"
elif [[ $1 == "mc" ]]; then
error=$(delete_bucket_recursive_mc "$2" 2>&1) || exit_code="$?"
else
log 2 "invalid client '$1'"
if ! delete_bucket_recursive_s3api "$1"; then
log 2 "error deleting bucket recursively (s3api)"
return 1
fi
if [ $exit_code -ne 0 ]; then
if [[ "$error" == *"The specified bucket does not exist"* ]]; then
return 0
else
log 2 "error deleting bucket recursively: $error"
return 1
fi
fi
return 0
}
@@ -75,7 +51,7 @@ clear_bucket_s3api() {
return 1
fi
if ! check_ownership_rule_and_reset_acl "$1"; then
if [ "$SKIP_ACL_TESTING" != "true" ] && ! check_ownership_rule_and_reset_acl "$1"; then
log 2 "error checking ownership rule and resetting acl"
return 1
fi
@@ -117,26 +93,12 @@ delete_bucket_recursive_s3api() {
# return 0 on success, 1 on error
delete_bucket_contents() {
log 6 "delete_bucket_contents"
if [ $# -ne 2 ]; then
log 2 "'delete_bucket_contents' requires client, bucket name"
if ! check_param_count "delete_bucket_contents" "bucket name" 1 $#; then
return 1
fi
local exit_code=0
local error
if [[ $1 == 's3api' ]]; then
if ! clear_bucket_s3api "$2"; then
log 2 "error clearing bucket (s3api)"
return 1
fi
elif [[ $1 == "s3cmd" ]]; then
delete_bucket_recursive "s3cmd" "$1"
elif [[ $1 == "mc" ]]; then
delete_bucket_recursive "mc" "$1"
elif [[ $1 == "s3" ]]; then
delete_bucket_recursive "s3" "$1"
else
log 2 "unrecognized client: '$1'"
if ! clear_bucket_s3api "$1"; then
log 2 "error clearing bucket (s3api)"
return 1
fi
return 0
@@ -146,12 +108,11 @@ delete_bucket_contents() {
# param: bucket name
# return 0 for true, 1 for false, 2 for error
bucket_exists() {
if [ $# -ne 2 ]; then
log 2 "bucket_exists command requires client, bucket name"
if ! check_param_count "bucket_exists" "bucket name" 1 $#; then
return 2
fi
local exists=0
head_bucket "$1" "$2" || exists=$?
head_bucket "s3api" "$1" || exists=$?
# shellcheck disable=SC2181
if [ $exists -eq 2 ]; then
log 2 "unexpected error checking if bucket exists"
@@ -169,7 +130,7 @@ direct_wait_for_bucket() {
return 1
fi
bucket_verification_start_time=$(date +%s)
while ! bucket_exists "s3api" "$1"; do
while ! bucket_exists "$1"; do
bucket_verification_end_time=$(date +%s)
if [ $((bucket_verification_end_time-bucket_verification_start_time)) -ge 60 ]; then
log 2 "bucket existence check timeout"
@@ -184,32 +145,31 @@ direct_wait_for_bucket() {
# return 0 for success, 1 for error
bucket_cleanup() {
log 6 "bucket_cleanup"
if [ $# -ne 2 ]; then
log 2 "'bucket_cleanup' requires client, bucket name"
if ! check_param_count "bucket_cleanup" "bucket name" 1 $#; then
return 1
fi
if [[ $RECREATE_BUCKETS == "false" ]]; then
if ! delete_bucket_contents "$1" "$2"; then
if ! delete_bucket_contents "$1"; then
log 2 "error deleting bucket contents"
return 1
fi
if ! delete_bucket_policy "$1" "$2"; then
if ! delete_bucket_policy "s3api" "$1"; then
log 2 "error deleting bucket policy"
return 1
fi
if ! get_object_ownership_rule_and_update_acl "$2"; then
if ! get_object_ownership_rule_and_update_acl "$1"; then
log 2 "error getting object ownership rule and updating ACL"
return 1
fi
if ! abort_all_multipart_uploads "$2"; then
if ! abort_all_multipart_uploads "$1"; then
log 2 "error aborting all multipart uploads"
return 1
fi
if [ "$RUN_USERS" == "true" ] && ! reset_bucket_owner "$2"; then
if [ "$RUN_USERS" == "true" ] && ! reset_bucket_owner "$1"; then
log 2 "error resetting bucket owner"
return 1
fi
@@ -217,7 +177,7 @@ bucket_cleanup() {
log 5 "bucket contents, policy, ACL deletion success"
return 0
fi
if ! delete_bucket_recursive "$1" "$2"; then
if ! delete_bucket_recursive "$1"; then
log 2 "error with recursive bucket delete"
return 1
fi
@@ -229,13 +189,12 @@ bucket_cleanup() {
# return 0 for success, 1 for error
bucket_cleanup_if_bucket_exists() {
log 6 "bucket_cleanup_if_bucket_exists"
if [ $# -lt 2 ]; then
log 2 "'bucket_cleanup_if_bucket_exists' requires client, bucket name, bucket known to exist (optional)"
if ! check_param_count_gt "bucket_cleanup_if_bucket_exists" "bucket name, bucket known to exist (optional)" 1 $#; then
return 1
fi
if [ "$3" == "true" ] || bucket_exists "$1" "$2"; then
if ! bucket_cleanup "$1" "$2"; then
if [ "$2" == "true" ] || bucket_exists "$1"; then
if ! bucket_cleanup "$1"; then
log 2 "error deleting bucket and/or contents"
return 1
fi
@@ -269,7 +228,7 @@ setup_bucket() {
fi
bucket_exists="true"
if ! bucket_exists "s3api" "$1"; then
if ! bucket_exists "$1"; then
if [[ $RECREATE_BUCKETS == "false" ]]; then
log 2 "When RECREATE_BUCKETS isn't set to \"true\", buckets should be pre-created by user"
return 1
@@ -277,7 +236,7 @@ setup_bucket() {
bucket_exists="false"
fi
if ! bucket_cleanup_if_bucket_exists "s3api" "$1" "$bucket_exists"; then
if ! bucket_cleanup_if_bucket_exists "$1" "$bucket_exists"; then
log 2 "error deleting bucket or contents if they exist"
return 1
fi
@@ -299,7 +258,7 @@ setup_bucket() {
if [[ $1 == "s3cmd" ]]; then
log 5 "putting bucket ownership controls"
if bucket_exists "s3cmd" "$1" && ! put_bucket_ownership_controls "$1" "BucketOwnerPreferred"; then
if bucket_exists "$1" && ! put_bucket_ownership_controls "$1" "BucketOwnerPreferred"; then
log 2 "error putting bucket ownership controls"
return 1
fi

View File

@@ -330,12 +330,12 @@ setup_multipart_upload_with_params() {
return 1
fi
if ! bucket_cleanup_if_bucket_exists "s3api" "$BUCKET_ONE_NAME"; then
if ! bucket_cleanup_if_bucket_exists "$BUCKET_ONE_NAME"; then
log 2 "error cleaning up bucket"
return 1
fi
# in static bucket config, bucket will still exist
if ! bucket_exists "s3api" "$BUCKET_ONE_NAME"; then
if ! bucket_exists "$BUCKET_ONE_NAME"; then
if ! create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"; then
log 2 "error creating bucket with object lock enabled"
return 1

View File

@@ -83,13 +83,13 @@ setup_bucket_object_lock_enabled() {
log 2 "'setup_bucket_object_lock_enabled' requires bucket name"
return 1
fi
if ! bucket_cleanup_if_bucket_exists "s3api" "$1"; then
if ! bucket_cleanup_if_bucket_exists "$1"; then
log 2 "error cleaning up bucket"
return 1
fi
# in static bucket config, bucket will still exist
if ! bucket_exists "rest" "$1"; then
if ! bucket_exists "$1"; then
if ! create_bucket_object_lock_enabled "$1"; then
log 2 "error creating bucket with object lock enabled"
return 1

View File

@@ -150,7 +150,7 @@ run_versity_app() {
if [[ $IAM_TYPE != "s3" ]]; then
return 0
fi
if bucket_exists "s3api" "$USERS_BUCKET"; then
if bucket_exists "$USERS_BUCKET"; then
return 0
fi
if ! create_bucket "s3api" "$USERS_BUCKET"; then