mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 15:48:29 +00:00
* Fix SQLite log handling issue causing ValueError: Logs cannot be None in tests - Add proper error handling in SQLite storage operations - Set up isolated test environment with temporary storage directory - Ensure consistent error messages across all database operations Co-Authored-By: Joe Moura <joao@crewai.com> * fix: Sort imports in conftest.py Co-Authored-By: Joe Moura <joao@crewai.com> * fix: Convert TokenProcess counters to instance variables to fix callback tracking Co-Authored-By: Joe Moura <joao@crewai.com> * refactor: Replace print statements with logging and improve error handling - Add proper logging setup in kickoff_task_outputs_storage.py - Replace self._printer.print() with logger calls - Use appropriate log levels (error/warning) - Add directory validation in test environment setup - Maintain consistent error messages with DatabaseError format Co-Authored-By: Joe Moura <joao@crewai.com> * fix: Comprehensive improvements to database and token handling - Fix SQLite database path handling in storage classes - Add proper directory creation and error handling - Improve token tracking with robust type checking - Convert TokenProcess counters to instance variables - Add standardized database error handling - Set up isolated test environment with temporary storage Resolves test failures in PR #1899 Co-Authored-By: Joe Moura <joao@crewai.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Joe Moura <joao@crewai.com> Co-authored-by: João Moura <joaomdmoura@gmail.com>
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
"""Error message definitions for CrewAI database operations."""
|
|
from typing import Optional
|
|
|
|
|
|
class DatabaseOperationError(Exception):
|
|
"""Base exception class for database operation errors."""
|
|
|
|
def __init__(self, message: str, original_error: Optional[Exception] = None):
|
|
"""Initialize the database operation error.
|
|
|
|
Args:
|
|
message: The error message to display
|
|
original_error: The original exception that caused this error, if any
|
|
"""
|
|
super().__init__(message)
|
|
self.original_error = original_error
|
|
|
|
|
|
class DatabaseError:
|
|
"""Standardized error message templates for database operations."""
|
|
|
|
INIT_ERROR: str = "Database initialization error: {}"
|
|
SAVE_ERROR: str = "Error saving task outputs: {}"
|
|
UPDATE_ERROR: str = "Error updating task outputs: {}"
|
|
LOAD_ERROR: str = "Error loading task outputs: {}"
|
|
DELETE_ERROR: str = "Error deleting task outputs: {}"
|
|
|
|
@classmethod
|
|
def format_error(cls, template: str, error: Exception) -> str:
|
|
"""Format an error message with the given template and error.
|
|
|
|
Args:
|
|
template: The error message template to use
|
|
error: The exception to format into the template
|
|
|
|
Returns:
|
|
The formatted error message
|
|
"""
|
|
return template.format(str(error))
|