add dev mode guards: skip FMCSA submission, fax, and web filing in non-production environments

This commit is contained in:
justin 2026-05-30 22:28:59 -05:00
parent d6704e850e
commit 6dd311f375
3 changed files with 33 additions and 1 deletions

View file

@ -63,6 +63,12 @@ async def send_fax(
Returns:
dict with keys: success, log_id, device, status, error
"""
# Guard: don't fax in dev/test
is_prod = os.getenv("NODE_ENV") == "production" or os.getenv("ENV") == "production"
if not is_prod:
LOG.info("[fax] DEV MODE — skipping fax to %s", recipient)
return {"success": True, "log_id": "dev-skip", "device": "dev", "status": "skipped", "error": None}
url = f"https://{PBX_HOST}/api/v2/virtual_faxes/{PBX_FAX_ID}/send"
headers = {
"app-key": PBX_API_KEY,

View file

@ -64,6 +64,19 @@ async def submit_mcs150(
submitted_at = datetime.now(timezone.utc)
# Guard: don't submit to FMCSA in dev/test
is_prod = os.getenv("NODE_ENV") == "production" or os.getenv("ENV") == "production"
if not is_prod:
LOG.info("[fmcsa] DEV MODE — skipping web submission for DOT %s", dot_number)
return {
"success": True,
"screenshot_path": None,
"pre_submit_screenshot": None,
"submitted_at": submitted_at.isoformat(),
"confirmation_text": "DEV MODE — submission skipped",
"error": None,
}
try:
from patchright.async_api import async_playwright
except ImportError:

View file

@ -186,8 +186,21 @@ class MCS150UpdateHandler:
LOG.error("[%s] E-sign setup failed (proceeding anyway): %s", order_number, exc)
# Step 5: Submit electronically (3x web → fax fallback)
# GUARD: Skip actual submission in dev/test environments
is_production = os.environ.get("NODE_ENV") == "production" or os.environ.get("ENV") == "production"
filing_result = None
if pdf_path:
if pdf_path and not is_production:
LOG.info("[%s] DEV MODE — skipping actual FMCSA submission", order_number)
filing_result = {
"success": True,
"method": "dev_skip",
"attested_pdf": None,
"submitted_at": datetime.now().isoformat(),
"screenshot_path": None,
"fax_log_id": None,
"error": None,
}
elif pdf_path:
try:
import asyncio
from scripts.workers.fax_sender import submit_filing