Generally working.

This commit is contained in:
Your Name
2025-09-11 13:28:54 -04:00
parent e1741fb1fc
commit 22f6224008
14 changed files with 51 additions and 160 deletions

View File

@@ -11,11 +11,16 @@ echo "=== BUD-06 Upload Requirements Test Suite ==="
SERVER_URL="http://localhost:9001"
UPLOAD_ENDPOINT="${SERVER_URL}/upload"
# Test file properties
TEST_SHA256="24308d48eb498b593e55a87b6300ccffdea8432babc0bb898b1eff21ebbb72de"
# Test file properties - generate unique hashes for each test run
TIMESTAMP=$(date +%s)
TEST_SHA256=$(echo "test_bud06_${TIMESTAMP}_$(uname -n)" | sha256sum | cut -d' ' -f1)
TEST_CONTENT_TYPE="image/png"
TEST_CONTENT_LENGTH="71418"
# Generate additional unique hashes for tests that need fresh hashes
TEST_SHA256_FRESH=$(echo "fresh_bud06_${TIMESTAMP}_$(uname -n)" | sha256sum | cut -d' ' -f1)
TEST_SHA256_AUTH=$(echo "auth_bud06_${TIMESTAMP}_$(uname -n)" | sha256sum | cut -d' ' -f1)
# Helper function to make HEAD request with custom headers
make_head_request() {
local sha256="$1"
@@ -59,11 +64,11 @@ echo ""
echo "=== Test 1: Valid Upload Requirements ==="
echo "Testing HEAD /upload with valid headers..."
RESPONSE=$(make_head_request "$TEST_SHA256" "$TEST_CONTENT_TYPE" "$TEST_CONTENT_LENGTH")
RESPONSE=$(make_head_request "$TEST_SHA256_FRESH" "$TEST_CONTENT_TYPE" "$TEST_CONTENT_LENGTH")
STATUS=$(get_status_code "$RESPONSE")
echo "Request Headers:"
echo " X-SHA-256: $TEST_SHA256"
echo " X-SHA-256: $TEST_SHA256_FRESH"
echo " X-Content-Type: $TEST_CONTENT_TYPE"
echo " X-Content-Length: $TEST_CONTENT_LENGTH"
echo ""
@@ -185,12 +190,12 @@ echo "=== Test 6: Unsupported Media Type ==="
echo "Testing HEAD /upload with potentially unsupported MIME type..."
UNSUPPORTED_TYPE="application/x-malware"
RESPONSE=$(make_head_request "$TEST_SHA256" "$UNSUPPORTED_TYPE" "$TEST_CONTENT_LENGTH")
RESPONSE=$(make_head_request "$TEST_SHA256_FRESH" "$UNSUPPORTED_TYPE" "$TEST_CONTENT_LENGTH")
STATUS=$(get_status_code "$RESPONSE")
REASON=$(get_x_reason "$RESPONSE")
echo "Request Headers:"
echo " X-SHA-256: $TEST_SHA256"
echo " X-SHA-256: $TEST_SHA256_FRESH"
echo " X-Content-Type: $UNSUPPORTED_TYPE"
echo " X-Content-Length: $TEST_CONTENT_LENGTH"
echo ""
@@ -267,13 +272,13 @@ echo "=== Test 9: Authorization Handling ==="
echo "Testing HEAD /upload authorization requirements..."
# Test without authorization first
RESPONSE=$(make_head_request "$TEST_SHA256" "$TEST_CONTENT_TYPE" "$TEST_CONTENT_LENGTH")
RESPONSE=$(make_head_request "$TEST_SHA256_AUTH" "$TEST_CONTENT_TYPE" "$TEST_CONTENT_LENGTH")
STATUS=$(get_status_code "$RESPONSE")
REASON=$(get_x_reason "$RESPONSE")
echo "Request Headers (no authorization):"
echo " X-SHA-256: $TEST_SHA256"
echo " X-Content-Type: $TEST_CONTENT_TYPE"
echo " X-SHA-256: $TEST_SHA256_AUTH"
echo " X-Content-Type: $TEST_CONTENT_TYPE"
echo " X-Content-Length: $TEST_CONTENT_LENGTH"
echo " Authorization: (missing)"
echo ""