Generally working.
This commit is contained in:
@@ -1 +1 @@
|
||||
09127399ac6d531773cafe433bd6ffd0592b04480543b8225ba17d48fd61b5ac
|
||||
e3ba927d32ca105a8a4cafa2e013b97945a165c38e9ce573446a2332dc312fdb
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Admin Initialization Script for Ginxsom Testing
|
||||
# Sets up the test admin key in the database
|
||||
|
||||
set -e
|
||||
|
||||
# Test admin public key (must match TEST_ADMIN_PUBKEY from admin_test.sh)
|
||||
TEST_ADMIN_PUBKEY="2ef05348f28d24e0f0ed0751278442c27b62c823c37af8d8d89d8592c6ee84e7"
|
||||
|
||||
echo "Initializing admin access for testing..."
|
||||
|
||||
# Check if database exists
|
||||
if [ ! -f "db/ginxsom.db" ]; then
|
||||
echo "Error: Database db/ginxsom.db not found. Run ./db/init.sh first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Configure admin settings
|
||||
sqlite3 db/ginxsom.db << EOF
|
||||
INSERT OR REPLACE INTO config (key, value, description) VALUES
|
||||
('admin_pubkey', '$TEST_ADMIN_PUBKEY', 'Nostr public key authorized for admin operations (test key)'),
|
||||
('admin_enabled', 'true', 'Enable admin interface');
|
||||
EOF
|
||||
|
||||
echo "Admin access configured successfully!"
|
||||
echo "Test admin public key: $TEST_ADMIN_PUBKEY"
|
||||
echo "Use private key from admin_test.sh to generate authentication tokens"
|
||||
|
||||
# Verify configuration
|
||||
echo ""
|
||||
echo "Current admin configuration:"
|
||||
sqlite3 db/ginxsom.db "SELECT key, value FROM config WHERE key IN ('admin_pubkey', 'admin_enabled');"
|
||||
@@ -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 ""
|
||||
|
||||
Reference in New Issue
Block a user