53 lines
2.1 KiB
Bash
53 lines
2.1 KiB
Bash
#!/bin/sh
|
|
# E2E test: ticket exchange -> session -> board access -> single-use -> collab
|
|
set -e
|
|
B=http://localhost:8000
|
|
M=http://mock-exchange:9000
|
|
|
|
echo "--- 1. Issue ticket (mock addon) ---"
|
|
TICKET=$(wget -qO- --header="Content-Type: application/json" \
|
|
--post-data='{"ayon_user":"niklas","display_name":"Niklas","project":"lumenfjord","task":"assets/chair/modeling"}' \
|
|
$M/issue | sed 's/.*"ticket":"\([^"]*\)".*/\1/')
|
|
echo "ticket: ${TICKET:0:8}..."
|
|
|
|
echo "--- 2. Browser exchange at RefBoard ---"
|
|
EX=$(wget -qO- --header="Content-Type: application/json" \
|
|
--post-data="{\"ticket\":\"$TICKET\"}" $B/api/auth/ayon/exchange)
|
|
echo "$EX" | head -c 300; echo
|
|
TOKEN=$(echo "$EX" | sed 's/.*"token":"\([^"]*\)".*/\1/')
|
|
BOARD_URL=$(echo "$EX" | sed 's/.*"board_url":"\([^"]*\)".*/\1/')
|
|
echo "board_url: $BOARD_URL"
|
|
|
|
echo "--- 3. /me with session ---"
|
|
wget -qO- --header="Authorization: Bearer $TOKEN" $B/api/auth/me
|
|
echo
|
|
|
|
echo "--- 4. Fetch board ---"
|
|
BOARD_ID=${BOARD_URL##*/}
|
|
wget -qO- --header="Authorization: Bearer $TOKEN" $B/api/boards/$BOARD_ID | head -c 200
|
|
echo
|
|
|
|
echo "--- 5. Ticket reuse must fail (single-use) ---"
|
|
CODE=$(wget -qO- --header="Content-Type: application/json" \
|
|
--post-data="{\"ticket\":\"$TICKET\"}" $B/api/auth/ayon/exchange 2>&1 | tail -1)
|
|
echo "reuse response: $CODE"
|
|
|
|
echo "--- 6. Second user joins SAME board ---"
|
|
T2T=$(wget -qO- --header="Content-Type: application/json" \
|
|
--post-data='{"ayon_user":"artist2","display_name":"Artist Two","project":"lumenfjord","task":"assets/chair/modeling"}' \
|
|
$M/issue | sed 's/.*"ticket":"\([^"]*\)".*/\1/')
|
|
EX2=$(wget -qO- --header="Content-Type: application/json" \
|
|
--post-data="{\"ticket\":\"$T2T\"}" $B/api/auth/ayon/exchange)
|
|
T2=$(echo "$EX2" | sed 's/.*"token":"\([^"]*\)".*/\1/')
|
|
echo "user2 board access:"
|
|
wget -qO- --header="Authorization: Bearer $T2" $B/api/boards/$BOARD_ID | head -c 120
|
|
echo
|
|
|
|
echo "--- 7. Missing ticket -> 400 ---"
|
|
wget -qO- --header="Content-Type: application/json" --post-data="{}" $B/api/auth/ayon/exchange 2>&1 | tail -1 || true
|
|
|
|
echo "--- 8. Frontend SPA route /b served ---"
|
|
wget -qO- $B/b | head -c 80
|
|
echo
|
|
echo "E2E DONE"
|