Update test.sh
This commit is contained in:
34
test.sh
34
test.sh
@@ -461,6 +461,34 @@ test_metadata_empty_value() {
|
||||
fi
|
||||
}
|
||||
|
||||
test_metadata_invalid_format() {
|
||||
log_info "Testing invalid metadata format rejection..."
|
||||
|
||||
echo "metadata test invalid" > "${TEST_DIR}/test_files/meta_invalid.txt"
|
||||
|
||||
# Test invalid format (no equals sign) - directly call sos to capture exit code
|
||||
export SOS_WRITE_TOKEN="${TEST_TOKEN}"
|
||||
export SOS_TEST_MODE=1
|
||||
local host="${SOS_TEST_HOST:-localhost:${TEST_PORT}}"
|
||||
|
||||
set +e
|
||||
"${SCRIPT_DIR}/sos" upload "$host" "${TEST_DIR}/test_files/meta_invalid.txt" "meta:invalid" --metadata "noequals" >"${TEST_DIR}/invalid_meta_output.txt" 2>&1
|
||||
local exit_code=$?
|
||||
set -e
|
||||
|
||||
local output=$(cat "${TEST_DIR}/invalid_meta_output.txt")
|
||||
|
||||
if [[ $exit_code -ne 0 ]] && echo "$output" | grep -q "Metadata must be in \"key=value\" format"; then
|
||||
log_info "Invalid metadata format correctly rejected (exit code: $exit_code)"
|
||||
return 0
|
||||
else
|
||||
log_error "Invalid metadata format not rejected properly"
|
||||
echo "Exit code: $exit_code"
|
||||
echo "$output" | head -5
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Run all tests
|
||||
run_tests() {
|
||||
local tests=(
|
||||
@@ -473,6 +501,12 @@ run_tests() {
|
||||
"test_metadata_update"
|
||||
"test_api_endpoints"
|
||||
"test_invalid_auth"
|
||||
"test_metadata_single"
|
||||
"test_metadata_multiple"
|
||||
"test_metadata_special_chars"
|
||||
"test_metadata_mixed_labels"
|
||||
"test_metadata_empty_value"
|
||||
"test_metadata_invalid_format"
|
||||
)
|
||||
|
||||
local total=${#tests[@]}
|
||||
|
Reference in New Issue
Block a user