sentinel-scam-honeypo / tests /python_docker_build_simulator.py
avinash-rai's picture
Deployment Ready: Fixed scam detection low confidence, added production audit report, optimized throttles
1838600
Raw
History Blame Contribute Delete
1.32 kB
import os
import sys
import importlib
def check_structure():
print("🐳 Simulating Docker Build Context...")
# 1. Check Root Files
required = ["app", "requirements.txt", "Dockerfile", ".dockerignore"]
missing = [f for f in required if not os.path.exists(f)]
if missing:
print(f"❌ MISSING FILES: {missing}")
return False
else:
print("βœ… Root structure verified.")
# 2. Check App Directory
if not os.path.exists("app/main.py"):
print("❌ app/main.py not found! Uvicorn will fail.")
return False
print("βœ… app/main.py exists.")
# 3. Check Dependencies (Top-Level)
print("πŸ” Checking critical imports...")
try:
import fastapi
import uvicorn
import pydantic
import tenacity
import requests
print("βœ… Core dependencies installed.")
except ImportError as e:
print(f"⚠️ WARNING: Local environment missing dependency: {e}")
print(" (This might be fine if Docker installs them, but ensure strict versioning in requirements.txt)")
return True
if __name__ == "__main__":
if check_structure():
print("\nπŸš€ Ready for 'docker build -t sentinel-honeypot .'")
else:
print("\nπŸ›‘ Build pre-check FAILED.")
sys.exit(1)