mirror of
https://github.com/versity/versitygw.git
synced 2026-01-08 20:43:07 +00:00
test: more dockerfile/direct updates, testing, fixes
This commit is contained in:
@@ -1,132 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
upload_and_check_attributes() {
|
||||
if [ $# -ne 2 ]; then
|
||||
log 2 "'upload_and_check_attributes' requires test file, file size"
|
||||
return 1
|
||||
fi
|
||||
if ! perform_multipart_upload_rest "$BUCKET_ONE_NAME" "$1" "$TEST_FILE_FOLDER/$1-0" "$TEST_FILE_FOLDER/$1-1" \
|
||||
"$TEST_FILE_FOLDER/$1-2" "$TEST_FILE_FOLDER/$1-3"; then
|
||||
log 2 "error uploading and checking parts"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$BUCKET_ONE_NAME" OBJECT_KEY="$1" ATTRIBUTES="ETag,StorageClass,ObjectParts,ObjectSize" OUTPUT_FILE="$TEST_FILE_FOLDER/attributes.txt" ./tests/rest_scripts/get_object_attributes.sh); then
|
||||
log 2 "error listing object attributes: $result"
|
||||
return 1
|
||||
fi
|
||||
if ! check_attributes_after_upload "$2"; then
|
||||
log 2 "error checking attributes after upload"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_attributes_after_upload() {
|
||||
if [ $# -ne 1 ]; then
|
||||
log 2 "'check_attributes_after_upload' requires file size"
|
||||
return 1
|
||||
fi
|
||||
log 5 "attributes: $(cat "$TEST_FILE_FOLDER/attributes.txt")"
|
||||
if ! object_size=$(xmllint --xpath '//*[local-name()="ObjectSize"]/text()' "$TEST_FILE_FOLDER/attributes.txt" 2>&1); then
|
||||
log 2 "error getting checksum: $object_size"
|
||||
return 1
|
||||
fi
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$object_size" != "$1" ]; then
|
||||
log 2 "expected file size of '$file_size', was '$object_size'"
|
||||
return 1
|
||||
fi
|
||||
if ! error=$(xmllint --xpath '//*[local-name()="StorageClass"]/text()' "$TEST_FILE_FOLDER/attributes.txt" 2>&1); then
|
||||
log 2 "error getting storage class: $error"
|
||||
return 1
|
||||
fi
|
||||
if ! etag=$(xmllint --xpath '//*[local-name()="ETag"]/text()' "$TEST_FILE_FOLDER/attributes.txt" 2>&1); then
|
||||
log 2 "error getting etag: $etag"
|
||||
return 1
|
||||
fi
|
||||
if ! [[ $etag =~ ^[a-fA-F0-9]{32}-4$ ]]; then
|
||||
log 2 "unexpected etag pattern ($etag)"
|
||||
return 1
|
||||
fi
|
||||
if ! parts_count=$(xmllint --xpath '//*[local-name()="PartsCount"]/text()' "$TEST_FILE_FOLDER/attributes.txt" 2>&1); then
|
||||
log 2 "error getting parts_count: $parts_count"
|
||||
return 1
|
||||
fi
|
||||
if [[ $parts_count != 4 ]]; then
|
||||
log 2 "unexpected parts count, expected 4, was $parts_count"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
check_attributes_invalid_param() {
|
||||
if [ $# -ne 1 ]; then
|
||||
log 2 "'check_attributes_invalid_param' requires test file"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$BUCKET_ONE_NAME" OBJECT_KEY="$1" ATTRIBUTES="ETags" OUTPUT_FILE="$TEST_FILE_FOLDER/attributes.txt" ./tests/rest_scripts/get_object_attributes.sh); then
|
||||
log 2 "error listing object attributes: $result"
|
||||
return 1
|
||||
fi
|
||||
if [ "$result" != "400" ]; then
|
||||
log 2 "expected response code of '400', was '$result'"
|
||||
return 1
|
||||
fi
|
||||
log 5 "attributes: $(cat "$TEST_FILE_FOLDER/attributes.txt")"
|
||||
if ! code=$(xmllint --xpath '//*[local-name()="Code"]/text()' "$TEST_FILE_FOLDER/attributes.txt" 2>&1); then
|
||||
log 2 "error getting code: $code"
|
||||
return 1
|
||||
fi
|
||||
if [ "$code" != "InvalidArgument" ]; then
|
||||
log 2 "expected 'InvalidArgument', was '$code'"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
add_and_check_checksum() {
|
||||
if [ $# -ne 2 ]; then
|
||||
log 2 "'add_and_check_checksum' requires data file, key"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" DATA_FILE="$1" BUCKET_NAME="$BUCKET_ONE_NAME" OBJECT_KEY="$2" CHECKSUM_TYPE="sha256" OUTPUT_FILE="$TEST_FILE_FOLDER/result.txt" ./tests/rest_scripts/put_object.sh); then
|
||||
log 2 "error sending object file: $result"
|
||||
return 1
|
||||
fi
|
||||
if [ "$result" != "200" ]; then
|
||||
log 2 "expected response code of '200', was '$result' (output: $(cat "$TEST_FILE_FOLDER/result.txt")"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$BUCKET_ONE_NAME" OBJECT_KEY="$2" ATTRIBUTES="Checksum" OUTPUT_FILE="$TEST_FILE_FOLDER/attributes.txt" ./tests/rest_scripts/get_object_attributes.sh); then
|
||||
log 2 "error listing object attributes: $result (output: $(cat "$TEST_FILE_FOLDER/attributes.txt")"
|
||||
return 1
|
||||
fi
|
||||
if [ "$result" != "200" ]; then
|
||||
log 2 "expected response code of '200', was '$result'"
|
||||
return 1
|
||||
fi
|
||||
log 5 "attributes: $(cat "$TEST_FILE_FOLDER/attributes.txt")"
|
||||
if ! checksum=$(xmllint --xpath '//*[local-name()="ChecksumSHA256"]/text()' "$TEST_FILE_FOLDER/attributes.txt" 2>&1); then
|
||||
log 2 "error getting checksum: $checksum"
|
||||
return 1
|
||||
fi
|
||||
if [ "$checksum" == "" ]; then
|
||||
log 2 "empty checksum"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
get_etag_attribute_rest() {
|
||||
if [ $# -ne 3 ]; then
|
||||
log 2 "'get_etag_attribute_rest' requires bucket name, object key, expected etag"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$1" OBJECT_KEY="$2" ATTRIBUTES="ETag" OUTPUT_FILE="$TEST_FILE_FOLDER/attributes.txt" ./tests/rest_scripts/get_object_attributes.sh); then
|
||||
log 2 "error attempting to get object info: $result"
|
||||
return 1
|
||||
fi
|
||||
log 5 "attributes: $(cat "$TEST_FILE_FOLDER/attributes.txt")"
|
||||
if ! check_xml_element "$TEST_FILE_FOLDER/attributes.txt" "$3" "GetObjectAttributesResponse" "ETag"; then
|
||||
log 2 "etag mismatch"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
@@ -58,32 +58,12 @@ reset_bucket() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$RUN_USERS" == "true" ] && ! change_bucket_owner "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "$1" "$AWS_ACCESS_KEY_ID"; then
|
||||
if [ "$RUN_USERS" == "true" ] && [ "$DIRECT" != "true" ] && ! change_bucket_owner "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "$1" "$AWS_ACCESS_KEY_ID"; then
|
||||
log 2 "error changing bucket owner back to root"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# params: bucket name
|
||||
# return 0 if able to delete recursively, 1 if not
|
||||
delete_bucket_recursive() {
|
||||
log 6 "delete_bucket_recursive '$1'"
|
||||
if ! check_param_count "delete_bucket_recursive_s3api" "bucket" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! reset_bucket "$1"; then
|
||||
log 2 "error clearing bucket (s3api)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! delete_bucket_rest "$1"; then
|
||||
log 2 "error deleting bucket"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# check if bucket exists
|
||||
# param: bucket name
|
||||
# return 0 for true, 1 for false, 2 for error
|
||||
@@ -144,10 +124,6 @@ setup_bucket() {
|
||||
|
||||
log 5 "util.setup_bucket: bucket name: $1"
|
||||
if [[ $RECREATE_BUCKETS == "true" ]]; then
|
||||
if [ "$DIRECT" == "true" ]; then
|
||||
log 2 "bucket not successfully deleted"
|
||||
return 1
|
||||
fi
|
||||
if ! create_bucket "s3api" "$1"; then
|
||||
log 2 "error creating bucket"
|
||||
return 1
|
||||
@@ -156,12 +132,6 @@ setup_bucket() {
|
||||
log 5 "skipping bucket re-creation"
|
||||
fi
|
||||
|
||||
# bucket creation and resets take longer to propagate in direct mode
|
||||
if [ "$DIRECT" == "true" ]; then
|
||||
log 2 "bucket not found after creation"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [[ $1 == "s3cmd" ]]; then
|
||||
log 5 "putting bucket ownership controls"
|
||||
if bucket_exists "$1" && ! put_bucket_ownership_controls "$1" "BucketOwnerPreferred"; then
|
||||
|
||||
@@ -44,28 +44,22 @@ attempt_chunked_upload_with_bad_first_signature() {
|
||||
log 2 "error sending command via openssl"
|
||||
return 1
|
||||
fi
|
||||
response_code="$(echo "$result" | grep "HTTP" | awk '{print $2}')"
|
||||
log 5 "response code: $response_code"
|
||||
if [ "$response_code" != "403" ]; then
|
||||
log 2 "expected code '403', was '$response_code'"
|
||||
log 5 "result: $result"
|
||||
echo -n "$result" > "$TEST_FILE_FOLDER/result.txt"
|
||||
if ! get_xml_data "$TEST_FILE_FOLDER/result.txt" "$TEST_FILE_FOLDER/error_data.txt"; then
|
||||
log 2 "error parsing XML data from result"
|
||||
return 1
|
||||
fi
|
||||
log 5 "result: $result"
|
||||
response_data="$(echo "$result" | grep "<Error>")"
|
||||
response_data="${response_data/---/}"
|
||||
log 5 "response data: $response_data"
|
||||
log 5 "END"
|
||||
echo -n "$response_data" > "$TEST_FILE_FOLDER/response_data.txt"
|
||||
if ! check_xml_element "$TEST_FILE_FOLDER/response_data.txt" "SignatureDoesNotMatch" "Error" "Code"; then
|
||||
log 2 "error checking XML element"
|
||||
response_code="$(echo "$result" | grep "HTTP" | awk '{print $2}')"
|
||||
if ! check_rest_expected_error "$response_code" "$TEST_FILE_FOLDER/error_data.txt" "403" "SignatureDoesNotMatch" "does not match"; then
|
||||
log 2 "error checking expected REST error"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
chunked_upload_success() {
|
||||
if [ $# -ne 3 ]; then
|
||||
log 2 "'chunked_upload_success_as' requires data file, bucket name, key"
|
||||
if ! check_param_count_v2 "data file, bucket name, key" 3 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" \
|
||||
@@ -191,7 +185,11 @@ chunked_upload_trailer_success() {
|
||||
log 2 "'chunked_upload_trailer_success' requires checksum"
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$BUCKET_ONE_NAME"; then
|
||||
if ! bucket_name=$(get_bucket_name "$BUCKET_ONE_NAME" 2>&1); then
|
||||
log 2 "error getting bucket name: $bucket_name"
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$bucket_name"; then
|
||||
log 2 "error setting up bucket"
|
||||
return 1
|
||||
fi
|
||||
@@ -200,11 +198,11 @@ chunked_upload_trailer_success() {
|
||||
log 2 "error creating test file"
|
||||
return 1
|
||||
fi
|
||||
if ! put_object_chunked_trailer_success "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file" "$1"; then
|
||||
if ! put_object_chunked_trailer_success "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file" "$1"; then
|
||||
log 2 "error performing chunked upload w/trailer"
|
||||
return 1
|
||||
fi
|
||||
if ! download_and_compare_file "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file" "$TEST_FILE_FOLDER/$test_file-copy"; then
|
||||
if ! download_and_compare_file "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file" "$TEST_FILE_FOLDER/$test_file-copy"; then
|
||||
log 2 "error downloading and comparing file"
|
||||
return 1
|
||||
fi
|
||||
@@ -216,7 +214,11 @@ chunked_upload_trailer_invalid_checksum() {
|
||||
log 2 "'chunked_upload_trailer_invalid_checksum' requires checksum"
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$BUCKET_ONE_NAME"; then
|
||||
if ! bucket_name=$(get_bucket_name "$BUCKET_ONE_NAME" 2>&1); then
|
||||
log 2 "error getting bucket name: $bucket_name"
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$bucket_name"; then
|
||||
log 2 "error setting up bucket"
|
||||
return 1
|
||||
fi
|
||||
@@ -231,7 +233,7 @@ chunked_upload_trailer_invalid_checksum() {
|
||||
AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
|
||||
AWS_ENDPOINT_URL="$AWS_ENDPOINT_URL" \
|
||||
DATA_FILE="$TEST_FILE_FOLDER/$test_file" \
|
||||
BUCKET_NAME="$BUCKET_ONE_NAME" \
|
||||
BUCKET_NAME="$bucket_name" \
|
||||
OBJECT_KEY="$test_file" CHUNK_SIZE=8192 TEST_MODE=false TRAILER="x-amz-checksum-$1" CHECKSUM="a" TEST_FILE_FOLDER="$TEST_FILE_FOLDER" COMMAND_FILE="$TEST_FILE_FOLDER/command.txt" ./tests/rest_scripts/put_object_openssl_chunked_trailer_example.sh 2>&1); then
|
||||
log 2 "error creating command: $result"
|
||||
return 1
|
||||
@@ -248,7 +250,11 @@ chunked_upload_trailer_incorrect_checksum() {
|
||||
log 2 "'chunked_upload_trailer_invalid_checksum' requires checksum"
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$BUCKET_ONE_NAME"; then
|
||||
if ! bucket_name=$(get_bucket_name "$BUCKET_ONE_NAME" 2>&1); then
|
||||
log 2 "error getting bucket name: $bucket_name"
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$bucket_name"; then
|
||||
log 2 "error setting up bucket"
|
||||
return 1
|
||||
fi
|
||||
@@ -267,7 +273,7 @@ chunked_upload_trailer_incorrect_checksum() {
|
||||
AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
|
||||
AWS_ENDPOINT_URL="$AWS_ENDPOINT_URL" \
|
||||
DATA_FILE="$TEST_FILE_FOLDER/$test_file" \
|
||||
BUCKET_NAME="$BUCKET_ONE_NAME" \
|
||||
BUCKET_NAME="$bucket_name" \
|
||||
OBJECT_KEY="$test_file" CHUNK_SIZE=8192 TEST_MODE=false TRAILER="x-amz-checksum-$1" CHECKSUM="$checksum" TEST_FILE_FOLDER="$TEST_FILE_FOLDER" COMMAND_FILE="$TEST_FILE_FOLDER/command.txt" ./tests/rest_scripts/put_object_openssl_chunked_trailer_example.sh 2>&1); then
|
||||
log 2 "error creating command: $result"
|
||||
return 1
|
||||
|
||||
@@ -272,11 +272,10 @@ create_upload_finish_wrong_etag() {
|
||||
log 2 "complete multipart upload returned code $result: $(cat "$TEST_FILE_FOLDER/result.txt")"
|
||||
return 1
|
||||
fi
|
||||
if ! error=$(xmllint --xpath '//*[local-name()="Error"]' "$TEST_FILE_FOLDER/result.txt" 2>&1); then
|
||||
log 2 "error retrieving error info: $error"
|
||||
if ! get_xml_data "$TEST_FILE_FOLDER/result.txt" "$TEST_FILE_FOLDER/error.txt"; then
|
||||
log 2 "error getting XML data"
|
||||
return 1
|
||||
fi
|
||||
echo -n "$error" > "$TEST_FILE_FOLDER/error.txt"
|
||||
if ! check_xml_element "$TEST_FILE_FOLDER/error.txt" "InvalidPart" "Code"; then
|
||||
log 2 "code mismatch"
|
||||
return 1
|
||||
|
||||
@@ -264,12 +264,18 @@ check_checksum_rest_invalid() {
|
||||
if ! check_param_count "check_checksum_rest_invalid" "checksum type" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! bucket_name=$(get_bucket_name "$BUCKET_ONE_NAME" 2>&1); then
|
||||
log 2 "error getting bucket name: $bucket_name"
|
||||
return 1
|
||||
fi
|
||||
|
||||
test_file="test_file"
|
||||
if ! setup_bucket_and_file "$BUCKET_ONE_NAME" "$test_file"; then
|
||||
if ! setup_bucket_and_file_v2 "$bucket_name" "$test_file"; then
|
||||
log 2 "error setting up bucket and file"
|
||||
return 1
|
||||
fi
|
||||
if ! check_checksum_invalid_or_incorrect "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file" "$1" "dummy" "Value for x-amz-checksum-$1 header is invalid."; then
|
||||
if ! check_checksum_invalid_or_incorrect "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file" "$1" "dummy" "Value for x-amz-checksum-$1 header is invalid."; then
|
||||
log 2 "error checking checksum"
|
||||
return 1
|
||||
fi
|
||||
@@ -280,8 +286,14 @@ check_checksum_rest_incorrect() {
|
||||
if ! check_param_count "check_checksum_rest_incorrect" "checksum type" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! bucket_name=$(get_bucket_name "$BUCKET_ONE_NAME" 2>&1); then
|
||||
log 2 "error getting bucket name: $bucket_name"
|
||||
return 1
|
||||
fi
|
||||
|
||||
test_file="test_file"
|
||||
if ! setup_bucket_and_file "$BUCKET_ONE_NAME" "$test_file"; then
|
||||
if ! setup_bucket_and_file "$bucket_name" "$test_file"; then
|
||||
log 2 "error setting up bucket and file"
|
||||
return 1
|
||||
fi
|
||||
@@ -291,7 +303,7 @@ check_checksum_rest_incorrect() {
|
||||
log 2 "error calculating incorrect checksum"
|
||||
return 1
|
||||
fi
|
||||
if ! check_checksum_invalid_or_incorrect "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file" "$1" "$incorrect_checksum" "$error_message"; then
|
||||
if ! check_checksum_invalid_or_incorrect "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file" "$1" "$incorrect_checksum" "$error_message"; then
|
||||
log 2 "error checking checksum"
|
||||
return 1
|
||||
fi
|
||||
@@ -302,6 +314,7 @@ calculate_incorrect_checksum() {
|
||||
if ! check_param_count "calculate_incorrect_checksum" "checksum type, data file" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! checksum=$(DATA_FILE="$2" CHECKSUM_TYPE="$1" TEST_FILE_FOLDER="$TEST_FILE_FOLDER" ./tests/rest_scripts/calculate_checksum.sh 2>&1); then
|
||||
log 2 "error calculating checksum: $checksum"
|
||||
return 1
|
||||
@@ -334,13 +347,18 @@ add_correct_checksum() {
|
||||
if ! check_param_count "add_correct_checksum" "checksum type" 1 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! bucket_name=$(get_bucket_name "$BUCKET_ONE_NAME" 2>&1); then
|
||||
log 2 "error getting bucket name: $bucket_name"
|
||||
return 1
|
||||
fi
|
||||
|
||||
test_file="test_file"
|
||||
if ! setup_bucket_and_file "$BUCKET_ONE_NAME" "$test_file"; then
|
||||
if ! setup_bucket_and_file "$bucket_name" "$test_file"; then
|
||||
log 2 "error setting up bucket and file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! put_object_rest_checksum "$TEST_FILE_FOLDER/$test_file" "$BUCKET_ONE_NAME" "$test_file" "$1"; then
|
||||
if ! put_object_rest_checksum "$TEST_FILE_FOLDER/$test_file" "$bucket_name" "$test_file" "$1"; then
|
||||
log 2 "error adding file with checksum to s3"
|
||||
return 1
|
||||
fi
|
||||
@@ -371,7 +389,7 @@ put_object_rest_check_expires_header() {
|
||||
log 2 "expected response code of '200', was '$result' ($(cat "$TEST_FILE_FOLDER/result.txt"))"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$BUCKET_ONE_NAME" OBJECT_KEY="$test_file" OUTPUT_FILE="$TEST_FILE_FOLDER/result.txt" ./tests/rest_scripts/head_object.sh 2>&1); then
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$2" OBJECT_KEY="$3" OUTPUT_FILE="$TEST_FILE_FOLDER/result.txt" ./tests/rest_scripts/head_object.sh 2>&1); then
|
||||
log 2 "error: $result"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source ./tests/drivers/params.sh
|
||||
|
||||
setup_bucket_and_file() {
|
||||
if ! check_param_count_v2 "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
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
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_and_files() {
|
||||
if ! check_param_count_gt "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
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 "${@:3}"; then
|
||||
log 2 "error creating test files"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_and_large_file() {
|
||||
if ! check_param_count "setup_bucket_and_large_file" "bucket, file name" 2 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket "$1"; then
|
||||
log 2 "error setting up bucket"
|
||||
return 1
|
||||
fi
|
||||
if ! create_large_file "$2"; then
|
||||
log 2 "error creating large file"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
setup_bucket_file_and_user() {
|
||||
if ! check_param_count "setup_bucket_file_and_user" "bucket, file, username, password, user type" 5 $#; then
|
||||
return 1
|
||||
fi
|
||||
if ! setup_bucket_and_files "$1" "$2"; then
|
||||
log 2 "error setting up bucket and file"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(setup_user_versitygw_or_direct "$3" "$4" "$5" "$1"); then
|
||||
log 2 "error setting up user"
|
||||
return 1
|
||||
fi
|
||||
echo "$result"
|
||||
return 0
|
||||
}
|
||||
@@ -283,7 +283,7 @@ add_verify_bucket_tags_rest() {
|
||||
log 2 "expected response code of '204', was '$result' (error: $(cat "$TEST_FILE_FOLDER/result.txt"))"
|
||||
return 1
|
||||
fi
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$BUCKET_ONE_NAME" OUTPUT_FILE="$TEST_FILE_FOLDER/bucket_tagging.txt" ./tests/rest_scripts/get_bucket_tagging.sh); then
|
||||
if ! result=$(COMMAND_LOG="$COMMAND_LOG" BUCKET_NAME="$1" OUTPUT_FILE="$TEST_FILE_FOLDER/bucket_tagging.txt" ./tests/rest_scripts/get_bucket_tagging.sh); then
|
||||
log 2 "error listing bucket tags: $result"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -391,15 +391,6 @@ delete_user() {
|
||||
fi
|
||||
}
|
||||
|
||||
change_bucket_owner_direct() {
|
||||
log 6 "change_bucket_owner_direct"
|
||||
if [[ $# -ne 4 ]]; then
|
||||
log 2 "change bucket owner command requires ID, key, bucket name, and new owner"
|
||||
return 1
|
||||
fi
|
||||
# TODO add
|
||||
}
|
||||
|
||||
reset_bucket_owner() {
|
||||
if [ $# -ne 1 ]; then
|
||||
log 2 "'reset_bucket_owner' requires bucket name"
|
||||
@@ -419,11 +410,7 @@ change_bucket_owner() {
|
||||
return 1
|
||||
fi
|
||||
if [[ $DIRECT == "true" ]]; then
|
||||
if ! change_bucket_owner_direct "$1" "$2" "$3" "$4"; then
|
||||
log 2 "error changing bucket owner direct to s3"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
skip "any direct commands requiring bucket ownership change not yet implemented"
|
||||
fi
|
||||
log 5 "changing owner for bucket $3, new owner: $4"
|
||||
error=$(send_command "$VERSITY_EXE" admin --allow-insecure --access "$1" --secret "$2" --endpoint-url "$AWS_ENDPOINT_URL" change-bucket-owner --bucket "$3" --owner "$4" 2>&1) || local change_result=$?
|
||||
|
||||
Reference in New Issue
Block a user