Spaces:
Sleeping
Sleeping
import pytest | |
from fastapi.testclient import TestClient | |
import sys | |
import os | |
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) | |
from app import app | |
# tests/test_generate.py | |
client = TestClient(app) | |
sample_payload = { | |
"product_name": "EcoBottle", | |
"features": ["BPA-free", "Insulated", "Leak-proof"], | |
"brand": "EcoFlow", | |
"audience": "Eco-conscious travelers", | |
"tone": "enthusiastic", | |
"goal": "Drive conversions for the summer collection", | |
} | |
# def test_generate_campaign(): | |
# Adjust path below to the exact module & class where .invoke() is called | |
# @patch("src.marketingCampaignGen.components.model.generator.Ollama.invoke") | |
#Skip unit testing | |
def test_generate_campaign(mock_invoke): | |
response = client.post("/generate", json=sample_payload) | |
print("\n[DEBUG] Status Code:", response.status_code) | |
try: | |
print("[DEBUG] Response JSON:", response.json()) | |
except Exception as e: | |
print("[DEBUG] Response could not be parsed:", e) | |
print("[DEBUG] Raw Response Text:", response.text) | |
assert response.status_code == 200 | |
assert "campaign" in response.json() | |
assert isinstance(response.json()["campaign"], str) | |
assert len(response.json()["campaign"]) > 10 | |