56 lines
1.9 KiB
Bash
Executable File
56 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=========================================="
|
|
echo "MongoDB Connectivity Test"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Test 1: MongoDB not accessible from host
|
|
echo "Test 1: MongoDB port not exposed to host"
|
|
if nc -z -w 2 localhost 27017 2>&1 | grep -q "succeeded\|open"; then
|
|
echo "❌ FAIL: Port 27017 is accessible from host"
|
|
else
|
|
echo "✅ PASS: Port 27017 is not accessible from host (internal only)"
|
|
fi
|
|
echo ""
|
|
|
|
# Test 2: Backend can connect
|
|
echo "Test 2: Backend can connect to MongoDB"
|
|
if docker-compose exec -T backend python -c "from database import articles_collection; articles_collection.count_documents({})" &> /dev/null; then
|
|
echo "✅ PASS: Backend can connect to MongoDB"
|
|
else
|
|
echo "❌ FAIL: Backend cannot connect to MongoDB"
|
|
fi
|
|
echo ""
|
|
|
|
# Test 3: Crawler can connect
|
|
echo "Test 3: Crawler can connect to MongoDB"
|
|
if docker-compose exec -T crawler python -c "from pymongo import MongoClient; from config import Config; MongoClient(Config.MONGODB_URI).server_info()" &> /dev/null; then
|
|
echo "✅ PASS: Crawler can connect to MongoDB"
|
|
else
|
|
echo "❌ FAIL: Crawler cannot connect to MongoDB"
|
|
fi
|
|
echo ""
|
|
|
|
# Test 4: Sender can connect
|
|
echo "Test 4: Sender can connect to MongoDB"
|
|
if docker-compose exec -T sender python -c "from pymongo import MongoClient; import os; MongoClient(os.getenv('MONGODB_URI')).server_info()" &> /dev/null; then
|
|
echo "✅ PASS: Sender can connect to MongoDB"
|
|
else
|
|
echo "❌ FAIL: Sender cannot connect to MongoDB"
|
|
fi
|
|
echo ""
|
|
|
|
# Test 5: Backend API accessible
|
|
echo "Test 5: Backend API accessible from host"
|
|
if curl -s http://localhost:5001/health | grep -q "healthy"; then
|
|
echo "✅ PASS: Backend API is accessible"
|
|
else
|
|
echo "❌ FAIL: Backend API is not accessible"
|
|
fi
|
|
echo ""
|
|
|
|
echo "=========================================="
|
|
echo "Test Complete"
|
|
echo "=========================================="
|