generated from jjayeon/flask-blog
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtest_endpoints.sh
executable file
·52 lines (41 loc) · 1010 Bytes
/
test_endpoints.sh
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
46
47
48
49
50
51
52
#!/bin/bash
if [[ "$1" -eq "" ]]
then
URL="https://tonetype.tech"
else
URL=$1
fi
GET_ROUTES=("/" "/play/" "/user/" "/user/register/" "/user/login/")
POST_ROUTES=("/user/register/" "/user/login/" "/admin/")
CURL_CMD='curl -s -o /dev/null -w "%{http_code}"'
HEAD="-I"
POST='-X POST -d "username=jonsmith&password=pw123&name=songname&info={}&add=true&logout=true"'
EXIT=0
check_route () {
if [[ $RESPONSE -eq 200 || $RESPONSE -eq 418 || $RESPONSE -eq 302 ]]
then
echo "response $RESPONSE ok"
else
echo "response $RESPONSE not good"
EXIT=1
fi
}
echo "GET requests"
for ROUTE in ${GET_ROUTES[@]}; do
REQUEST=$URL$ROUTE
echo "curling $REQUEST"
RESPONSE=$(eval $CURL_CMD $HEAD $REQUEST)
check_route
done
echo "POST requests"
for ROUTE in ${POST_ROUTES[@]}; do
REQUEST=$URL$ROUTE
echo "curling $REQUEST"
RESPONSE=$(eval $CURL_CMD $POST $REQUEST)
check_route
done
if [[ $EXIT -eq 1 ]]
then
docker-compose logs | grep -i error -C 2
fi
exit $EXIT