65 lines
1.7 KiB
Bash
Executable File
65 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "🧪 Starting gRPC Test Suite..."
|
|
echo "================================"
|
|
|
|
# Cek apakah server sudah berjalan
|
|
if ! nc -z localhost 8090 2>/dev/null; then
|
|
echo "⚠️ gRPC Server not running on port 8090"
|
|
echo "🚀 Starting server..."
|
|
|
|
# Jalankan server di background
|
|
go run cmd/api/main.go &
|
|
SERVER_PID=$!
|
|
|
|
# Tunggu server siap
|
|
echo "⏳ Waiting for server to start..."
|
|
sleep 5
|
|
|
|
# Cek lagi
|
|
if ! nc -z localhost 8090 2>/dev/null; then
|
|
echo "❌ Failed to start server"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Server started successfully"
|
|
else
|
|
echo "✅ Server already running"
|
|
fi
|
|
|
|
echo ""
|
|
echo "1️⃣ Testing gRPC Connection..."
|
|
go test -run TestGRPCConnection ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "2️⃣ Testing Create Person..."
|
|
go test -run TestCreatePerson ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "3️⃣ Testing List Persons..."
|
|
go test -run TestListPersons ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "4️⃣ Testing Get Person..."
|
|
go test -run TestGetPerson ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "5️⃣ Testing Update Person..."
|
|
go test -run TestUpdatePerson ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "6️⃣ Testing Delete Person..."
|
|
go test -run TestDeletePerson ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "7️⃣ Testing Performance..."
|
|
go test -run TestGRPCPerformance ./internal/infrastructure/transport/grpc/proto/test/ -v
|
|
|
|
echo ""
|
|
echo "🏁 Test completed!"
|
|
|
|
# Jika kita yang start server, matikan lagi
|
|
if [ ! -z "$SERVER_PID" ]; then
|
|
echo "🛑 Stopping server..."
|
|
kill $SERVER_PID
|
|
fi |