93 lines
2.9 KiB
Bash
93 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Script untuk test API Timo Wipay
|
|
# Usage: ./test_api.sh
|
|
|
|
BASE_URL="http://localhost:8000"
|
|
COLOR_GREEN='\033[0;32m'
|
|
COLOR_RED='\033[0;31m'
|
|
COLOR_YELLOW='\033[1;33m'
|
|
COLOR_NC='\033[0m' # No Color
|
|
|
|
echo "=========================================="
|
|
echo " Timo Wipay API Testing Script"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Test Health Check
|
|
echo -e "${COLOR_YELLOW}1. Testing Health Check...${COLOR_NC}"
|
|
HEALTH_RESPONSE=$(curl -s "$BASE_URL/health")
|
|
if [ "$HEALTH_RESPONSE" == "OK" ]; then
|
|
echo -e "${COLOR_GREEN}✓ Health Check: OK${COLOR_NC}"
|
|
else
|
|
echo -e "${COLOR_RED}✗ Health Check: FAILED${COLOR_NC}"
|
|
echo "Response: $HEALTH_RESPONSE"
|
|
fi
|
|
echo ""
|
|
|
|
# Test Root Endpoint
|
|
echo -e "${COLOR_YELLOW}2. Testing Root Endpoint...${COLOR_NC}"
|
|
ROOT_RESPONSE=$(curl -s "$BASE_URL/")
|
|
if [[ "$ROOT_RESPONSE" == *"Welcome"* ]]; then
|
|
echo -e "${COLOR_GREEN}✓ Root Endpoint: OK${COLOR_NC}"
|
|
else
|
|
echo -e "${COLOR_RED}✗ Root Endpoint: FAILED${COLOR_NC}"
|
|
fi
|
|
echo ""
|
|
|
|
# Test Login (dengan data dummy)
|
|
echo -e "${COLOR_YELLOW}3. Testing Login Endpoint...${COLOR_NC}"
|
|
LOGIN_RESPONSE=$(curl -s -X POST "$BASE_URL/timo/login" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"username":"test","password":"test"}')
|
|
|
|
if echo "$LOGIN_RESPONSE" | grep -q '"status"'; then
|
|
echo -e "${COLOR_GREEN}✓ Login Endpoint: Response format OK${COLOR_NC}"
|
|
echo "Response: $LOGIN_RESPONSE" | head -c 200
|
|
echo "..."
|
|
else
|
|
echo -e "${COLOR_RED}✗ Login Endpoint: Invalid response${COLOR_NC}"
|
|
echo "Response: $LOGIN_RESPONSE"
|
|
fi
|
|
echo ""
|
|
|
|
# Test Cek SL (dengan data dummy)
|
|
echo -e "${COLOR_YELLOW}4. Testing Cek SL Endpoint...${COLOR_NC}"
|
|
CEK_SL_RESPONSE=$(curl -s -X POST "$BASE_URL/timo/cek_sl" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"token":"1","no_sl":"123456"}')
|
|
|
|
if echo "$CEK_SL_RESPONSE" | grep -q '"status"'; then
|
|
echo -e "${COLOR_GREEN}✓ Cek SL Endpoint: Response format OK${COLOR_NC}"
|
|
echo "Response: $CEK_SL_RESPONSE" | head -c 200
|
|
echo "..."
|
|
else
|
|
echo -e "${COLOR_RED}✗ Cek SL Endpoint: Invalid response${COLOR_NC}"
|
|
echo "Response: $CEK_SL_RESPONSE"
|
|
fi
|
|
echo ""
|
|
|
|
# Test Jenis Laporan (tidak perlu token)
|
|
echo -e "${COLOR_YELLOW}5. Testing Jenis Laporan Endpoint...${COLOR_NC}"
|
|
JENIS_LAPORAN_RESPONSE=$(curl -s -X POST "$BASE_URL/timo/jenis_laporan" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{}')
|
|
|
|
if echo "$JENIS_LAPORAN_RESPONSE" | grep -q '"status"'; then
|
|
echo -e "${COLOR_GREEN}✓ Jenis Laporan Endpoint: Response format OK${COLOR_NC}"
|
|
echo "Response: $JENIS_LAPORAN_RESPONSE" | head -c 200
|
|
echo "..."
|
|
else
|
|
echo -e "${COLOR_RED}✗ Jenis Laporan Endpoint: Invalid response${COLOR_NC}"
|
|
echo "Response: $JENIS_LAPORAN_RESPONSE"
|
|
fi
|
|
echo ""
|
|
|
|
echo "=========================================="
|
|
echo " Testing Complete!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "Note: Untuk test lengkap dengan data real,"
|
|
echo " gunakan Postman atau aplikasi mobile"
|
|
echo ""
|