mirror of
https://github.com/versity/versitygw.git
synced 2026-01-10 05:17:25 +00:00
Merge branch 'test/direct_tests_two' into test/direct_tests_three
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
source ./tests/drivers/delete_bucket/delete_bucket_rest.sh
|
||||
source ./tests/drivers/get_bucket_acl/get_bucket_acl_rest.sh
|
||||
source ./tests/drivers/get_object/get_object_rest.sh
|
||||
source ./tests/drivers/put_bucket_acl/put_bucket_acl_rest.sh
|
||||
@@ -111,4 +112,71 @@ create_bucket_and_check_acl() {
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
setup_bucket_v2() {
|
||||
if ! check_param_count_v2 "bucket prefix or name" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! bucket_cleanup_if_bucket_exists_v2 "$1"; then
|
||||
log 2 "error cleaning up bucket(s), if it/they exist(s)"
|
||||
return 1
|
||||
fi
|
||||
if [ "$RECREATE_BUCKETS" == "false" ]; then
|
||||
echo "$1"
|
||||
return 0
|
||||
fi
|
||||
bucket_name="$1-$(date +%Y%m%d%H%M%S)"
|
||||
if ! create_bucket_rest_expect_success "$bucket_name" ""; then
|
||||
log 2 "error creating bucket '$bucket_name'"
|
||||
return 1
|
||||
fi
|
||||
echo "$bucket_name"
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_object_lock_enabled_v2() {
|
||||
if ! check_param_count_v2 "bucket" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! bucket_cleanup_if_bucket_exists_v2 "$1"; then
|
||||
log 2 "error cleaning up bucket"
|
||||
return 1
|
||||
fi
|
||||
if [ "$RECREATE_BUCKETS" == "true" ]; then
|
||||
bucket_name="$1-$(date +%Y%m%d%H%M%S)"
|
||||
if ! create_bucket_object_lock_enabled "$bucket_name"; then
|
||||
log 2 "error creating bucket '$bucket_name' with object lock enabled"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
echo "$bucket_name"
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_object_lock_enabled() {
|
||||
if ! check_param_count "setup_bucket_object_lock_enabled" "bucket" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! bucket_cleanup_if_bucket_exists "$1"; then
|
||||
log 2 "error cleaning up bucket"
|
||||
return 1
|
||||
fi
|
||||
if [ "$DIRECT" == "true" ] && [ "$RECREATE_BUCKETS" == "true" ]; then
|
||||
log 2 "bucket not confirmed as deleted"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# in static bucket config, bucket will still exist
|
||||
if ! bucket_exists "$1"; then
|
||||
if ! create_bucket_object_lock_enabled "$1"; then
|
||||
log 2 "error creating bucket with object lock enabled"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [ "$DIRECT" == "true" ]; then
|
||||
log 2 "bucket not confirmed as created"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
121
tests/drivers/delete_bucket/delete_bucket_rest.sh
Normal file
121
tests/drivers/delete_bucket/delete_bucket_rest.sh
Normal file
@@ -0,0 +1,121 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright 2024 Versity Software
|
||||
# This file is licensed under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http:#www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
source ./tests/commands/list_buckets.sh
|
||||
|
||||
delete_buckets_with_prefix() {
|
||||
if ! check_param_count_v2 "bucket prefix" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if [ "$1" == "" ]; then
|
||||
log 2 "delete_buckets_with_prefix requires non-empty prefix"
|
||||
return 1
|
||||
fi
|
||||
if ! list_buckets_rest "PREFIX=$1" "parse_bucket_list"; then
|
||||
log 2 "error listing buckets with prefix"
|
||||
return 1
|
||||
fi
|
||||
# shellcheck disable=SC2154
|
||||
log 5 "buckets: ${bucket_array[*]}"
|
||||
for bucket in "${bucket_array[@]}"; do
|
||||
if ! delete_bucket_recursive "$bucket"; then
|
||||
log 2 "error with recursive bucket delete of bucket '$bucket'"
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
cleanup_buckets() {
|
||||
if ! bucket_cleanup_if_bucket_exists_v2 "$BUCKET_ONE_NAME"; then
|
||||
log 3 "error deleting bucket $BUCKET_ONE_NAME or contents"
|
||||
fi
|
||||
if ! bucket_cleanup_if_bucket_exists_v2 "$BUCKET_TWO_NAME"; then
|
||||
log 3 "error deleting bucket $BUCKET_TWO_NAME or contents"
|
||||
fi
|
||||
}
|
||||
|
||||
# params: client, bucket name
|
||||
# return 0 for success, 1 for error
|
||||
bucket_cleanup() {
|
||||
log 6 "bucket_cleanup"
|
||||
if ! check_param_count "bucket_cleanup" "bucket name" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if [[ $RECREATE_BUCKETS == "false" ]]; then
|
||||
if ! reset_bucket "$1"; then
|
||||
log 2 "error deleting bucket contents"
|
||||
return 1
|
||||
fi
|
||||
|
||||
log 5 "bucket contents, policy, ACL deletion success"
|
||||
return 0
|
||||
fi
|
||||
if ! delete_bucket_recursive "$1"; then
|
||||
log 2 "error with recursive bucket delete"
|
||||
return 1
|
||||
fi
|
||||
log 5 "bucket deletion success"
|
||||
return 0
|
||||
}
|
||||
|
||||
# params: client, bucket name
|
||||
# return 0 for success, 1 for error
|
||||
bucket_cleanup_if_bucket_exists() {
|
||||
log 6 "bucket_cleanup_if_bucket_exists"
|
||||
if ! check_param_count_gt "bucket name, bucket known to exist (optional)" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$2" == "false" ]; then
|
||||
log 5 "skipping cleanup, since bucket doesn't exist"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$2" == "true" ] || bucket_exists "$1"; then
|
||||
if ! bucket_cleanup "$1"; then
|
||||
log 2 "error deleting bucket and/or contents"
|
||||
return 1
|
||||
fi
|
||||
log 5 "bucket and/or bucket data deletion success"
|
||||
return 0
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
bucket_cleanup_if_bucket_exists_v2() {
|
||||
log 6 "bucket_cleanup_if_bucket_exists_v2"
|
||||
if ! check_param_count_gt "bucket name or prefix" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if [[ "$RECREATE_BUCKETS" == "false" ]]; then
|
||||
if ! bucket_exists "$1"; then
|
||||
log 2 "When RECREATE_BUCKETS isn't set to \"true\", bucket with full env name should be pre-created by user"
|
||||
return 1
|
||||
fi
|
||||
if ! reset_bucket "$1"; then
|
||||
log 2 "error resetting bucket before tests"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
else
|
||||
if ! delete_buckets_with_prefix "$1"; then
|
||||
log 2 "error deleting buckets with prefix '$1'"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
@@ -64,9 +64,13 @@ parse_bucket_list() {
|
||||
bucket_list=$(xmllint --xpath '//*[local-name()="Bucket"]/*[local-name()="Name"]/text()' "$1")
|
||||
bucket_array=()
|
||||
while read -r bucket; do
|
||||
bucket_array+=("$bucket")
|
||||
if [ -n "$bucket" ]; then
|
||||
log 5 "reading bucket '$bucket'"
|
||||
bucket_array+=("$bucket")
|
||||
fi
|
||||
done <<< "$bucket_list"
|
||||
log 5 "bucket array: ${bucket_array[*]}"
|
||||
log 5 "bucket array length: ${#bucket_array[@]}"
|
||||
}
|
||||
|
||||
parse_buckets_and_continuation_token() {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
source ./tests/env.sh
|
||||
source ./tests/report.sh
|
||||
source ./tests/setup_mc.sh
|
||||
source ./tests/drivers/delete_bucket/delete_bucket_rest.sh
|
||||
source ./tests/util/util_object.sh
|
||||
source ./tests/versity.sh
|
||||
|
||||
@@ -146,14 +147,9 @@ post_versity_cleanup() {
|
||||
teardown() {
|
||||
# shellcheck disable=SC2154
|
||||
log 4 "********** BEGIN TEARDOWN **********"
|
||||
if [ "$DELETE_BUCKETS_AFTER_TEST" != "false" ]; then
|
||||
log 5 "deleting or clearing buckets"
|
||||
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 "$BUCKET_TWO_NAME"; then
|
||||
log 3 "error deleting bucket $BUCKET_TWO_NAME or contents"
|
||||
fi
|
||||
if [ "$DELETE_BUCKETS_AFTER_TEST" != "false" ] && ! cleanup_buckets; then
|
||||
log 3 "error cleaning up buckets after test"
|
||||
return 1
|
||||
fi
|
||||
if [ "$SKIP_USERS_TESTS" != "true" ]; then
|
||||
if [ -n "$USERNAME_ONE" ]; then
|
||||
|
||||
@@ -29,6 +29,7 @@ source ./tests/commands/put_bucket_versioning.sh
|
||||
source ./tests/commands/put_object.sh
|
||||
source ./tests/commands/put_object_retention.sh
|
||||
source ./tests/commands/put_object_tagging.sh
|
||||
source ./tests/drivers/create_bucket/create_bucket_rest.sh
|
||||
source ./tests/drivers/copy_object/copy_object_rest.sh
|
||||
source ./tests/drivers/get_bucket_ownership_controls/get_bucket_ownership_controls_rest.sh
|
||||
source ./tests/drivers/head_object/head_object_rest.sh
|
||||
|
||||
@@ -37,10 +37,11 @@ source ./tests/util/util_tags.sh
|
||||
export RUN_USERS=true
|
||||
|
||||
@test "REST - HeadBucket" {
|
||||
run setup_bucket "$BUCKET_ONE_NAME"
|
||||
run setup_bucket_v2 "$BUCKET_ONE_NAME"
|
||||
assert_success
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
run head_bucket_rest "$BUCKET_ONE_NAME"
|
||||
run head_bucket_rest "$bucket_name"
|
||||
assert_success
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ load ./bats-assert/load
|
||||
source ./tests/setup.sh
|
||||
source ./tests/drivers/rest.sh
|
||||
source ./tests/drivers/complete_multipart_upload/complete_multipart_upload_rest.sh
|
||||
source ./tests/drivers/list_buckets/list_buckets_rest.sh
|
||||
source ./tests/drivers/upload_part/upload_part_rest.sh
|
||||
source ./tests/util/util_file.sh
|
||||
source ./tests/util/util_list_parts.sh
|
||||
|
||||
@@ -20,96 +20,93 @@ load ./bats-assert/load
|
||||
source ./tests/setup.sh
|
||||
source ./tests/commands/get_object.sh
|
||||
source ./tests/commands/put_object.sh
|
||||
source ./tests/drivers/create_bucket/create_bucket_rest.sh
|
||||
source ./tests/drivers/list_buckets/list_buckets_rest.sh
|
||||
source ./tests/util/util_rest.sh
|
||||
source ./tests/util/util_setup.sh
|
||||
|
||||
test_file="test_file"
|
||||
|
||||
@test "REST - check, enable, suspend versioning" {
|
||||
if [ "$RECREATE_BUCKETS" == "false" ]; then
|
||||
skip "cannot test versioning changes in static mode"
|
||||
fi
|
||||
run setup_bucket "$BUCKET_ONE_NAME"
|
||||
run setup_bucket_v2 "$BUCKET_ONE_NAME"
|
||||
assert_success
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
log 5 "get versioning"
|
||||
|
||||
run check_versioning_status_rest "$BUCKET_ONE_NAME" ""
|
||||
run check_versioning_status_rest "$bucket_name" ""
|
||||
assert_success
|
||||
|
||||
run put_bucket_versioning_rest "$BUCKET_ONE_NAME" "Enabled"
|
||||
run put_bucket_versioning_rest "$bucket_name" "Enabled"
|
||||
assert_success
|
||||
|
||||
run check_versioning_status_rest "$BUCKET_ONE_NAME" "Enabled"
|
||||
run check_versioning_status_rest "$bucket_name" "Enabled"
|
||||
assert_success
|
||||
|
||||
run put_bucket_versioning_rest "$BUCKET_ONE_NAME" "Suspended"
|
||||
run put_bucket_versioning_rest "$bucket_name" "Suspended"
|
||||
assert_success
|
||||
|
||||
run check_versioning_status_rest "$BUCKET_ONE_NAME" "Suspended"
|
||||
run check_versioning_status_rest "$bucket_name" "Suspended"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "test_rest_versioning" {
|
||||
if [ "$RECREATE_BUCKETS" == "false" ]; then
|
||||
skip "cannot test versioning changes in static mode"
|
||||
fi
|
||||
run setup_bucket_and_file "$BUCKET_ONE_NAME" "$test_file"
|
||||
run setup_bucket_and_file_v2 "$BUCKET_ONE_NAME" "$test_file"
|
||||
assert_success
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run get_and_check_versions_rest "$bucket_name" "$test_file" "1" "true" "true"
|
||||
assert_success
|
||||
|
||||
run get_and_check_versions_rest "$BUCKET_ONE_NAME" "$test_file" "1" "true" "true"
|
||||
run put_bucket_versioning_rest "$bucket_name" "Enabled"
|
||||
assert_success
|
||||
|
||||
run put_bucket_versioning "s3api" "$BUCKET_ONE_NAME" "Enabled"
|
||||
run get_and_check_versions_rest "$bucket_name" "$test_file" "1" "true" "true"
|
||||
assert_success
|
||||
|
||||
run get_and_check_versions_rest "$BUCKET_ONE_NAME" "$test_file" "1" "true" "true"
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file"
|
||||
assert_success
|
||||
|
||||
run get_and_check_versions_rest "$BUCKET_ONE_NAME" "$test_file" "2" "true" "false" "false" "true"
|
||||
run get_and_check_versions_rest "$bucket_name" "$test_file" "2" "true" "false" "false" "true"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "versioning - add version, then delete and check for marker" {
|
||||
if [ "$RECREATE_BUCKETS" == "false" ]; then
|
||||
skip "cannot test versioning changes in static mode"
|
||||
fi
|
||||
run setup_bucket_and_file "$BUCKET_ONE_NAME" "$test_file"
|
||||
run setup_bucket_and_file_v2 "$BUCKET_ONE_NAME" "$test_file"
|
||||
assert_success
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run put_bucket_versioning_rest "$bucket_name" "Enabled"
|
||||
assert_success
|
||||
|
||||
run put_bucket_versioning "s3api" "$BUCKET_ONE_NAME" "Enabled"
|
||||
run delete_object_rest "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run delete_object_rest "$BUCKET_ONE_NAME" "$test_file"
|
||||
assert_success
|
||||
|
||||
run check_versions_after_file_deletion "$BUCKET_ONE_NAME" "$test_file"
|
||||
run check_versions_after_file_deletion "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "versioning - retrieve after delete" {
|
||||
run setup_bucket_and_file "$BUCKET_ONE_NAME" "$test_file"
|
||||
run setup_bucket_and_file_v2 "$BUCKET_ONE_NAME" "$test_file"
|
||||
assert_success
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run put_object "s3api" "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run put_bucket_versioning_rest "$bucket_name" "Enabled"
|
||||
assert_success
|
||||
|
||||
run put_bucket_versioning "s3api" "$BUCKET_ONE_NAME" "Enabled"
|
||||
run delete_object "s3api" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run delete_object "s3api" "$BUCKET_ONE_NAME" "$test_file"
|
||||
assert_success
|
||||
|
||||
run get_object "s3api" "$BUCKET_ONE_NAME" "$test_file" "$TEST_FILE_FOLDER/$test_file-copy"
|
||||
run get_object "s3api" "$bucket_name" "$test_file" "$TEST_FILE_FOLDER/$test_file-copy"
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@@ -117,25 +114,20 @@ 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 "$BUCKET_ONE_NAME"
|
||||
run setup_bucket_object_lock_enabled_v2 "$BUCKET_ONE_NAME"
|
||||
assert_success
|
||||
|
||||
# in static bucket config, bucket will still exist
|
||||
if ! bucket_exists "$BUCKET_ONE_NAME"; then
|
||||
run create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"
|
||||
assert_success
|
||||
fi
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
run create_test_files "$test_file"
|
||||
assert_success
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run delete_object "s3api" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run delete_object "s3api" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run verify_object_not_found "$BUCKET_ONE_NAME" "$test_file"
|
||||
run verify_object_not_found "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@@ -143,24 +135,19 @@ 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 "$BUCKET_ONE_NAME"
|
||||
run setup_bucket_object_lock_enabled_v2 "$BUCKET_ONE_NAME"
|
||||
assert_success
|
||||
|
||||
# in static bucket config, bucket will still exist
|
||||
if ! bucket_exists "$BUCKET_ONE_NAME"; then
|
||||
run create_bucket_object_lock_enabled "$BUCKET_ONE_NAME"
|
||||
assert_success
|
||||
fi
|
||||
bucket_name="${lines[${#lines[@]} - 1]}"
|
||||
|
||||
run create_test_files "$test_file"
|
||||
assert_success
|
||||
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run put_object "rest" "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run delete_object "s3api" "$BUCKET_ONE_NAME" "$test_file"
|
||||
run delete_object "s3api" "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
|
||||
run get_delete_marker_and_verify_405 "$BUCKET_ONE_NAME" "$test_file"
|
||||
run get_delete_marker_and_verify_405 "$bucket_name" "$test_file"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ source ./tests/commands/put_object_retention.sh
|
||||
source ./tests/commands/put_public_access_block.sh
|
||||
source ./tests/commands/select_object_content.sh
|
||||
source ./tests/drivers/copy_object/copy_object_rest.sh
|
||||
source ./tests/drivers/list_buckets/list_buckets_rest.sh
|
||||
|
||||
export RUN_USERS=true
|
||||
|
||||
|
||||
@@ -105,88 +105,6 @@ bucket_exists() {
|
||||
return 1
|
||||
}
|
||||
|
||||
direct_wait_for_bucket() {
|
||||
if ! check_param_count "direct_wait_for_bucket" "bucket" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
sleep 5
|
||||
bucket_verification_start_time=$(date +%s)
|
||||
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"
|
||||
return 1
|
||||
fi
|
||||
sleep 5
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
direct_wait_for_bucket_deletion() {
|
||||
if ! check_param_count "direct_wait_for_bucket" "bucket" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
sleep 5
|
||||
bucket_verification_start_time=$(date +%s)
|
||||
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"
|
||||
return 1
|
||||
fi
|
||||
sleep 5
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
# params: client, bucket name
|
||||
# return 0 for success, 1 for error
|
||||
bucket_cleanup() {
|
||||
log 6 "bucket_cleanup"
|
||||
if ! check_param_count "bucket_cleanup" "bucket name" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if [[ $RECREATE_BUCKETS == "false" ]]; then
|
||||
if ! reset_bucket "$1"; then
|
||||
log 2 "error deleting bucket contents"
|
||||
return 1
|
||||
fi
|
||||
|
||||
log 5 "bucket contents, policy, ACL deletion success"
|
||||
return 0
|
||||
fi
|
||||
if ! delete_bucket_recursive "$1"; then
|
||||
log 2 "error with recursive bucket delete"
|
||||
return 1
|
||||
fi
|
||||
log 5 "bucket deletion success"
|
||||
return 0
|
||||
}
|
||||
|
||||
# params: client, bucket name
|
||||
# return 0 for success, 1 for error
|
||||
bucket_cleanup_if_bucket_exists() {
|
||||
log 6 "bucket_cleanup_if_bucket_exists"
|
||||
if ! check_param_count_gt "bucket name, bucket known to exist (optional)" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$2" == "false" ]; then
|
||||
log 5 "skipping cleanup, since bucket doesn't exist"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$2" == "true" ] || bucket_exists "$1"; then
|
||||
if ! bucket_cleanup "$1"; then
|
||||
log 2 "error deleting bucket and/or contents"
|
||||
return 1
|
||||
fi
|
||||
log 5 "bucket and/or bucket data deletion success"
|
||||
return 0
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# params: client, bucket name(s)
|
||||
# return 0 for success, 1 for failure
|
||||
setup_buckets() {
|
||||
@@ -226,7 +144,7 @@ setup_bucket() {
|
||||
|
||||
log 5 "util.setup_bucket: bucket name: $1"
|
||||
if [[ $RECREATE_BUCKETS == "true" ]]; then
|
||||
if [ "$DIRECT" == "true" ] && ! direct_wait_for_bucket_deletion "$1"; then
|
||||
if [ "$DIRECT" == "true" ]; then
|
||||
log 2 "bucket not successfully deleted"
|
||||
return 1
|
||||
fi
|
||||
@@ -239,7 +157,7 @@ setup_bucket() {
|
||||
fi
|
||||
|
||||
# bucket creation and resets take longer to propagate in direct mode
|
||||
if [ "$DIRECT" == "true" ] && ! direct_wait_for_bucket "$1"; then
|
||||
if [ "$DIRECT" == "true" ]; then
|
||||
log 2 "bucket not found after creation"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -350,7 +350,7 @@ get_delete_marker_and_verify_405() {
|
||||
fi
|
||||
log 5 "xml val: $version_id"
|
||||
|
||||
if ! result=$(OUTPUT_FILE="$TEST_FILE_FOLDER/result.txt" COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$BUCKET_ONE_NAME" OBJECT_KEY="$2" VERSION_ID="$version_id" ./tests/rest_scripts/head_object.sh); then
|
||||
if ! result=$(OUTPUT_FILE="$TEST_FILE_FOLDER/result.txt" COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$1" OBJECT_KEY="$2" VERSION_ID="$version_id" ./tests/rest_scripts/head_object.sh); then
|
||||
log 2 "error getting result: $result"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -3,10 +3,32 @@
|
||||
source ./tests/drivers/params.sh
|
||||
|
||||
setup_bucket_and_file() {
|
||||
if ! check_param_count "setup_bucket_and_file" "bucket, file name" 2 $#; then
|
||||
if ! check_param_count_v2 "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket_and_files "$1" "$2"; then
|
||||
if ! setup_bucket_and_file_base "$1" "setup_bucket_and_files" "$2"; then
|
||||
log 2 "error setting up bucket and file"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_and_file_v2() {
|
||||
if ! check_param_count_v2 "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket_and_file_base "$1" "setup_bucket_and_files_v2" "$2"; then
|
||||
log 2 "error setting up bucket and files"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_and_file_base() {
|
||||
if ! check_param_count_v2 "bucket, function, file name" 3 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! "$2" "$1" "$3"; then
|
||||
log 2 "error setting up bucket and file"
|
||||
return 1
|
||||
fi
|
||||
@@ -17,11 +39,33 @@ setup_bucket_and_files() {
|
||||
if ! check_param_count_gt "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$1"; then
|
||||
if ! setup_bucket_and_files_base "$1" "setup_bucket" "${@:2}"; then
|
||||
log 2 "error setting up bucket and files"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_and_files_v2() {
|
||||
if ! check_param_count_gt "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket_and_files_base "$1" "setup_bucket_v2" "${@:2}"; then
|
||||
log 2 "error setting up bucket and files"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_and_files_base() {
|
||||
if ! check_param_count_gt "bucket, setup bucket function, file name" 3 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! "$2" "$1"; then
|
||||
log 2 "error setting up bucket"
|
||||
return 1
|
||||
fi
|
||||
if ! create_test_files "${@:2}"; then
|
||||
if ! create_test_files "${@:3}"; then
|
||||
log 2 "error creating test files"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -74,7 +74,7 @@ check_versioning_status_rest() {
|
||||
if ! check_param_count "check_versioning_status_rest" "bucket, expected value" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! get_bucket_versioning_rest "$BUCKET_ONE_NAME"; then
|
||||
if ! get_bucket_versioning_rest "$1"; then
|
||||
log 2 "error getting bucket versioning"
|
||||
return 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user