add tests
This commit is contained in:
@@ -339,7 +339,7 @@ func HttpHandleNewMessage(response http.ResponseWriter, request *http.Request) {
|
|||||||
response.Write([]byte("sent"))
|
response.Write([]byte("sent"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func HttpHandleGroupsGeWithoutMembers(response http.ResponseWriter, request *http.Request) {
|
func HttpHandleGroupsGetWithoutMembers(response http.ResponseWriter, request *http.Request) {
|
||||||
if !isMethodAllowed(&response, request) {
|
if !isMethodAllowed(&response, request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ func main() {
|
|||||||
http.HandleFunc("/new/group", withCORS(HttpHandeNewGroup))
|
http.HandleFunc("/new/group", withCORS(HttpHandeNewGroup))
|
||||||
http.HandleFunc("/mod/group/addclients", withCORS(HttpHandleGroupAddClient))
|
http.HandleFunc("/mod/group/addclients", withCORS(HttpHandleGroupAddClient))
|
||||||
http.HandleFunc("/new/message", withCORS(HttpHandleNewMessage))
|
http.HandleFunc("/new/message", withCORS(HttpHandleNewMessage))
|
||||||
|
http.HandleFunc("/get/groups", withCORS(HttpHandleGroupsGetWithoutMembers))
|
||||||
|
http.HandleFunc("/get/groupmembers", withCORS(HttpHandleGroupMembersGet))
|
||||||
http.HandleFunc("/ws", ServeWsConnection)
|
http.HandleFunc("/ws", ServeWsConnection)
|
||||||
|
|
||||||
log.Println("listening on :8080")
|
log.Println("listening on :8080")
|
||||||
|
|||||||
+3
-3
@@ -1,5 +1,5 @@
|
|||||||
TOKEN1=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwiZXhwIjoxNzc0ODc4MDY0LCJpYXQiOjE3NzQ4NzQ0NjR9.6X3z9j0z8USHh7GLKGWETr25_3Cqo9X9ZEfuhXIgePI
|
TOKEN1=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwiZXhwIjoxNzc1MDM3Mzc3LCJpYXQiOjE3NzUwMzM3Nzd9.BIZm-58PtXm13_q5O5M7B7YFjmYZFG0hE615POZ8xhY
|
||||||
USER1_ID=1
|
USER1_ID=1
|
||||||
TOKEN2=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyIiwiZXhwIjoxNzc0ODc4MDY0LCJpYXQiOjE3NzQ4NzQ0NjR9.DCLl1_8VB1nCARc1c4eXpgUt8fzTjzw4KZNOjHv_bdY
|
TOKEN2=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyIiwiZXhwIjoxNzc1MDM3Mzc3LCJpYXQiOjE3NzUwMzM3Nzd9.mUEEqxtbmmjwICEb_y2LhknR_I7Cis-5kSscm6it5bY
|
||||||
USER2_ID=2
|
USER2_ID=2
|
||||||
GROUP_ID=1
|
GROUP_ID=2
|
||||||
|
|||||||
Executable
+52
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Get groups for both users
|
||||||
|
source "$(dirname "$0")/config.sh"
|
||||||
|
|
||||||
|
TOKEN1=$(load_state "TOKEN1")
|
||||||
|
TOKEN2=$(load_state "TOKEN2")
|
||||||
|
|
||||||
|
if [[ -z "$TOKEN1" || -z "$TOKEN2" ]]; then
|
||||||
|
echo "ERROR: Missing tokens. Run 02_login.sh first."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=== Getting groups for user1 ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groups" \
|
||||||
|
-d "token=$TOKEN1")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "202" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 202, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Getting groups for user2 ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groups" \
|
||||||
|
-d "token=$TOKEN2")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "202" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 202, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Getting groups with invalid token ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groups" \
|
||||||
|
-d "token=invalid_token")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "401" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 401, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "ALL PASSED"
|
||||||
Executable
+87
@@ -0,0 +1,87 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Get group members
|
||||||
|
source "$(dirname "$0")/config.sh"
|
||||||
|
|
||||||
|
TOKEN1=$(load_state "TOKEN1")
|
||||||
|
TOKEN2=$(load_state "TOKEN2")
|
||||||
|
GROUP_ID=$(load_state "GROUP_ID")
|
||||||
|
|
||||||
|
if [[ -z "$TOKEN1" || -z "$TOKEN2" || -z "$GROUP_ID" ]]; then
|
||||||
|
echo "ERROR: Missing state. Run previous scripts first."
|
||||||
|
echo " TOKEN1=$TOKEN1"
|
||||||
|
echo " TOKEN2=$TOKEN2"
|
||||||
|
echo " GROUP_ID=$GROUP_ID"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=== Getting members of group $GROUP_ID as user1 (owner) ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groupmembers" \
|
||||||
|
-d "token=$TOKEN1" \
|
||||||
|
-d "group=$GROUP_ID")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "202" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 202, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Getting members of group $GROUP_ID as user2 (member) ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groupmembers" \
|
||||||
|
-d "token=$TOKEN2" \
|
||||||
|
-d "group=$GROUP_ID")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "202" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 202, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Getting members with invalid token ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groupmembers" \
|
||||||
|
-d "token=invalid_token" \
|
||||||
|
-d "group=$GROUP_ID")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "401" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 401, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Getting members with invalid group ID ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groupmembers" \
|
||||||
|
-d "token=$TOKEN1" \
|
||||||
|
-d "group=abc")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "400" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 400, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Getting members of non-existent group ==="
|
||||||
|
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/get/groupmembers" \
|
||||||
|
-d "token=$TOKEN1" \
|
||||||
|
-d "group=999999")
|
||||||
|
BODY=$(echo "$RESP" | head -1)
|
||||||
|
CODE=$(echo "$RESP" | tail -1)
|
||||||
|
echo "Response: $BODY (HTTP $CODE)"
|
||||||
|
|
||||||
|
if [[ "$CODE" != "401" ]]; then
|
||||||
|
echo "FAIL: Expected HTTP 401, got $CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "ALL PASSED"
|
||||||
@@ -43,6 +43,18 @@ echo "============================="
|
|||||||
bash "$DIR/06_send_message_reverse.sh"
|
bash "$DIR/06_send_message_reverse.sh"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
echo "============================="
|
||||||
|
echo " Step 7: Get groups"
|
||||||
|
echo "============================="
|
||||||
|
bash "$DIR/07_get_groups.sh"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "============================="
|
||||||
|
echo " Step 8: Get group members"
|
||||||
|
echo "============================="
|
||||||
|
bash "$DIR/08_get_group_members.sh"
|
||||||
|
echo ""
|
||||||
|
|
||||||
echo "============================="
|
echo "============================="
|
||||||
echo " Cleanup"
|
echo " Cleanup"
|
||||||
echo "============================="
|
echo "============================="
|
||||||
|
|||||||
Reference in New Issue
Block a user