blob: 6bb9dc47bd321484b4f0327e3dcd8824a78c1e37 (
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
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/usr/bin/env bash
set -euo pipefail
HOST=${1:-https://lambda.pankzsoft.net}
post () {
url=$1
data=$2
curl -s -X POST -H 'content-type: application/json' "$url" -d "$data"
}
get () {
url=$1
curl -s -X GET -H 'content-type: application/json' "$url"
}
ALICE=$(post $HOST/api/register '"alice"' | jq -r)
echo "registered alice with token '$ALICE'"
sleep 2
for i in $(seq 1 14); do
GRADE=$(get "$HOST/api/score?token=$ALICE" | jq -r .grade)
echo "alice's grade is $GRADE"
sleep 1
CHAL=$(get "$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=$(post "$HOST/api/challenge?token=$ALICE" "\"$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"
|