Files
api-wipay/test_api.sh

93 lines
2.9 KiB
Bash
Raw Permalink Normal View History

#!/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 ""