mirror of
https://github.com/versity/versitygw.git
synced 2026-04-29 16:56:56 +00:00
Merge pull request #1282 from versity/test/remove_some_setup_clients
Test/remove some setup clients
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user