49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Simple authentication test
|
|
set -e
|
|
|
|
SERVER_URL="http://localhost:9001"
|
|
UPLOAD_ENDPOINT="${SERVER_URL}/upload"
|
|
TEST_USER1_PRIVKEY="5c0c523f52a5b6fad39ed2403092df8cebc36318b39383bca6c00808626fab3a"
|
|
|
|
echo "=== Simple Authentication Test ==="
|
|
|
|
# Create a small test file
|
|
echo "Test file content $(date)" > /tmp/simple_test.txt
|
|
FILE_HASH=$(sha256sum /tmp/simple_test.txt | cut -d' ' -f1)
|
|
|
|
echo "Test file hash: $FILE_HASH"
|
|
|
|
# Create auth event
|
|
EVENT=$(nak event -k 24242 -c "" \
|
|
--tag "t=upload" \
|
|
--tag "x=${FILE_HASH}" \
|
|
--tag "expiration=$(date -d '+1 hour' +%s)" \
|
|
--sec "$TEST_USER1_PRIVKEY")
|
|
|
|
echo "Generated event: $EVENT"
|
|
|
|
# Create auth header
|
|
AUTH_HEADER="Nostr $(echo "$EVENT" | base64 -w 0)"
|
|
|
|
echo "Auth header length: ${#AUTH_HEADER}"
|
|
|
|
# Test upload
|
|
echo "Testing upload..."
|
|
HTTP_STATUS=$(curl -s -w "%{http_code}" \
|
|
-H "Authorization: $AUTH_HEADER" \
|
|
-H "Content-Type: text/plain" \
|
|
--data-binary "@/tmp/simple_test.txt" \
|
|
-X PUT "$UPLOAD_ENDPOINT" \
|
|
-o /tmp/upload_response.txt)
|
|
|
|
echo "HTTP Status: $HTTP_STATUS"
|
|
echo "Response:"
|
|
cat /tmp/upload_response.txt
|
|
echo
|
|
|
|
# Cleanup
|
|
rm -f /tmp/simple_test.txt /tmp/upload_response.txt
|
|
|
|
echo "Test completed with status: $HTTP_STATUS" |