BIAF-offASR / testcase /backend /test_api_integration.py
froster02's picture
refactor: code cleanup and App.jsx component split
3496381
import pytest
from fastapi.testclient import TestClient
from backend.app import app
import os
client = TestClient(app)
def get_auth_headers():
"""Helper to get auth headers for testing."""
payload = {"username": "admin", "password": "admin123"}
response = client.post("/api/login", json=payload)
token = response.json()["access_token"]
return {"Authorization": f"Bearer {token}"}
def test_get_models_status():
"""Test the models status endpoint."""
headers = get_auth_headers()
response = client.get("/api/models-status", headers=headers)
assert response.status_code == 200
data = response.json()
assert "is_cached" in data
assert "whisper_cached" in data
assert "nllb_cached" in data
assert "tts_cached" in data
def test_translate_text_api():
"""Test the text translation API (integration)."""
headers = get_auth_headers()
payload = {
"text": "Hello world",
"src_lang": "English",
"tgt_lang": "Hindi"
}
response = client.post("/api/translate-text", json=payload, headers=headers)
assert response.status_code == 200
assert "translated_text" in response.json()
def test_download_file_not_found():
"""Test the download endpoint with invalid file."""
response = client.get("/api/download-file?session_id=invalid&filename=nonexistent.wav")
assert response.status_code == 404