add tests

This commit is contained in:
gitGnome
2026-04-01 10:58:07 +02:00
parent 055bc5dcf2
commit 75c23c151f
7 changed files with 157 additions and 4 deletions
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -339,7 +339,7 @@ func HttpHandleNewMessage(response http.ResponseWriter, request *http.Request) {
response.Write([]byte("sent"))
}
func HttpHandleGroupsGeWithoutMembers(response http.ResponseWriter, request *http.Request) {
func HttpHandleGroupsGetWithoutMembers(response http.ResponseWriter, request *http.Request) {
if !isMethodAllowed(&response, request) {
return
}
+2
View File
@@ -22,6 +22,8 @@ func main() {
http.HandleFunc("/new/group", withCORS(HttpHandeNewGroup))
http.HandleFunc("/mod/group/addclients", withCORS(HttpHandleGroupAddClient))
http.HandleFunc("/new/message", withCORS(HttpHandleNewMessage))
http.HandleFunc("/get/groups", withCORS(HttpHandleGroupsGetWithoutMembers))
http.HandleFunc("/get/groupmembers", withCORS(HttpHandleGroupMembersGet))
http.HandleFunc("/ws", ServeWsConnection)
log.Println("listening on :8080")
+3 -3
View File
@@ -1,5 +1,5 @@
TOKEN1=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwiZXhwIjoxNzc0ODc4MDY0LCJpYXQiOjE3NzQ4NzQ0NjR9.6X3z9j0z8USHh7GLKGWETr25_3Cqo9X9ZEfuhXIgePI
TOKEN1=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwiZXhwIjoxNzc1MDM3Mzc3LCJpYXQiOjE3NzUwMzM3Nzd9.BIZm-58PtXm13_q5O5M7B7YFjmYZFG0hE615POZ8xhY
USER1_ID=1
TOKEN2=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyIiwiZXhwIjoxNzc0ODc4MDY0LCJpYXQiOjE3NzQ4NzQ0NjR9.DCLl1_8VB1nCARc1c4eXpgUt8fzTjzw4KZNOjHv_bdY
TOKEN2=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyIiwiZXhwIjoxNzc1MDM3Mzc3LCJpYXQiOjE3NzUwMzM3Nzd9.mUEEqxtbmmjwICEb_y2LhknR_I7Cis-5kSscm6it5bY
USER2_ID=2
GROUP_ID=1
GROUP_ID=2
+52
View File
@@ -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"
+87
View File
@@ -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"
+12
View File
@@ -43,6 +43,18 @@ echo "============================="
bash "$DIR/06_send_message_reverse.sh"
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 " Cleanup"
echo "============================="