pubHealthLLM / tests /test_environment.py
mike-malloy's picture
Initial deployment: pubHealthLLM public health decision intelligence app
d914db6
Raw
History Blame Contribute Delete
1.69 kB
"""
Tests for environment configuration and API key presence.
These tests do NOT make network calls — they only verify that
required variables are loaded from .env and have plausible values.
"""
import os
from pathlib import Path
from dotenv import load_dotenv
load_dotenv(Path(__file__).parents[1] / ".env")
def test_groq_api_key_is_set():
"""GROQ_API_KEY must be present in the environment."""
key = os.getenv("GROQ_API_KEY", "")
assert key, (
"GROQ_API_KEY is not set. "
"Copy .env.example to .env and add your Groq API key."
)
def test_groq_api_key_not_placeholder():
"""GROQ_API_KEY must not be the template placeholder value."""
key = os.getenv("GROQ_API_KEY", "")
assert key != "gsk_your_groq_api_key_here", (
"GROQ_API_KEY still contains the placeholder value from .env.example. "
"Replace it with your actual Groq API key."
)
def test_groq_api_key_non_empty_string():
"""GROQ_API_KEY must have meaningful length (not a 1-char typo)."""
key = os.getenv("GROQ_API_KEY", "")
assert len(key) > 10, (
f"GROQ_API_KEY is too short ({len(key)} chars) — likely malformed."
)
def test_env_file_exists():
"""The .env file itself must be present (not just .env.example)."""
env_path = Path(__file__).parents[1] / ".env"
assert env_path.exists(), (
".env file not found. Run: cp .env.example .env then add your API key."
)
def test_data_directory_exists():
"""The data/ directory must exist (created by directory setup)."""
data_dir = Path(__file__).parents[1] / "data"
assert data_dir.is_dir(), "data/ directory is missing from the project root."