74 lines
2.1 KiB
Python
74 lines
2.1 KiB
Python
"""Test Logging Filenames"""
|
|
import sys
|
|
import os
|
|
import uuid
|
|
from datetime import datetime
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from app.database import SessionLocal
|
|
from app.utils.logging import log_model_usage
|
|
from app.models.user import User
|
|
from app.models.job import Job
|
|
|
|
def test_logging_filenames():
|
|
db = SessionLocal()
|
|
try:
|
|
# Get a user
|
|
user = db.query(User).first()
|
|
if not user:
|
|
print("No fake user found, cannot log.")
|
|
return
|
|
|
|
print(f"Logging for user: {user.email}")
|
|
|
|
# Create a dummy Job
|
|
job = Job(
|
|
user_id=user.id,
|
|
module="image_generator",
|
|
action="generate",
|
|
input_data={"prompt": "filename test"},
|
|
status="completed"
|
|
)
|
|
db.add(job)
|
|
db.commit()
|
|
|
|
# Log a fake image generation with filenames
|
|
log = log_model_usage(
|
|
db=db,
|
|
job_id=str(job.id),
|
|
user_id=str(user.id),
|
|
module="image_generator",
|
|
action="generate",
|
|
provider="openai",
|
|
model="dall-e-3",
|
|
usage_stats={
|
|
"images": 2,
|
|
"processing_time_ms": 5000
|
|
},
|
|
request_metadata={
|
|
"prompt": "Two cats playing chess",
|
|
"size": "1024x1024"
|
|
},
|
|
response_metadata={
|
|
"output_assets": ["asset_1", "asset_2"],
|
|
"filenames": ["cat_chess_01.png", "cat_chess_02.png"]
|
|
}
|
|
)
|
|
|
|
if log:
|
|
print(f"✓ Log created with ID: {log.id}")
|
|
if log.response_metadata.get("filenames"):
|
|
print(f" Filenames found: {log.response_metadata['filenames']}")
|
|
else:
|
|
print("✗ Filenames missing from log!")
|
|
else:
|
|
print("✗ Log creation failed (returned None)")
|
|
|
|
except Exception as e:
|
|
print(f"Error: {e}")
|
|
db.rollback()
|
|
finally:
|
|
db.close()
|
|
|
|
if __name__ == "__main__":
|
|
test_logging_filenames()
|