test: chunked upload - invalid checksums, retention, legal hold tests

This commit is contained in:
Luke McCrone
2025-04-06 22:24:26 -03:00
parent 7a3de637e4
commit 8431ba2a21
25 changed files with 812 additions and 265 deletions
+3
View File
@@ -85,5 +85,8 @@ create_bucket_object_lock_enabled() {
log 2 "error creating bucket: $error"
return 1
fi
if [ "$DIRECT" == "true" ]; then
sleep 15
fi
return 0
}
+15 -1
View File
@@ -42,4 +42,18 @@ get_object_legal_hold_rest() {
return 1
fi
return 0
}
}
get_object_legal_hold_version_id() {
if [[ $# -ne 3 ]]; then
log 2 "'get_object_legal_hold_version_id' command requires bucket, key, version id"
return 1
fi
record_command "get-object-legal-hold" "client:s3api"
if ! legal_hold=$(send_command aws --no-verify-ssl s3api get-object-legal-hold --bucket "$1" --key "$2" --version-id "$3" 2>&1); then
log 2 "error getting object legal hold w/version id: $legal_hold"
return 1
fi
echo "$legal_hold"
return 0
}
+16 -4
View File
@@ -20,11 +20,23 @@ put_object_legal_hold() {
log 2 "'put object legal hold' command requires bucket, key, hold status ('ON' or 'OFF')"
return 1
fi
local error=""
error=$(send_command aws --no-verify-ssl s3api put-object-legal-hold --bucket "$1" --key "$2" --legal-hold "{\"Status\": \"$3\"}" 2>&1) || local put_hold_result=$?
if [[ $put_hold_result -ne 0 ]]; then
if ! error=$(send_command aws --no-verify-ssl s3api put-object-legal-hold --bucket "$1" --key "$2" --legal-hold "{\"Status\": \"$3\"}" 2>&1); then
log 2 "error putting object legal hold: $error"
return 1
fi
return 0
}
}
put_object_legal_hold_version_id() {
record_command "put-object-legal-hold" "client:s3api"
if [[ $# -ne 4 ]]; then
log 2 "'put_object_legal_hold_version_id' command requires bucket, key, version ID, hold status ('ON' or 'OFF')"
return 1
fi
local error=""
if ! error=$(send_command aws --no-verify-ssl s3api put-object-legal-hold --bucket "$1" --key "$2" --version-id "$3" --legal-hold "{\"Status\": \"$4\"}" 2>&1); then
log 2 "error putting object legal hold w/version ID: $error"
return 1
fi
return 0
}