blob: 1b78960ebcd57537a1da539412714401eaaec7bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/usr/bin/env bash
set -euo pipefail
HOST=${1:-https://lambda.pankzsoft.net}
ALICE=$(curl -s -X POST -H 'content-type: application/json' $HOST/api/register -d '"alice"' | jq -r)
echo "registered alice with token '$ALICE'"
sleep 2
for i in $(seq 1 14); do
GRADE=$(curl -s -X GET -H 'content-type: application/json' "$HOST/api/score?token=$ALICE" | jq -r .grade)
echo "alice's grade is $GRADE"
sleep 1
CHAL=$(curl -s -X GET -H 'content-type: application/json' "$HOST/api/challenge?token=$ALICE" | jq -r .expr)
echo "alice's challenge is '$CHAL'"
sleep 1
ANSWER=$(echo "$CHAL" | cabal run)
echo "alice's answer is '$ANSWER'"
RESULT=$(curl -s -X POST -H 'content-type: application/json' "$HOST/api/challenge?token=$ALICE" -d "\"$ANSWER\"")
if [ "$RESULT" != "[]" ]; then
echo "Failed challenge: $RESULT"
fi
done
SCORE=$(curl -s -X DELETE -H 'content-type: application/json' "$HOST/api/register?token=$ALICE")
echo "Unregistered alice: $SCORE"
|