| """Tests for automatic thread title generation.""" |
|
|
| import pytest |
|
|
| from src.agents.middlewares.title_middleware import TitleMiddleware |
| from src.config.title_config import TitleConfig, get_title_config, set_title_config |
|
|
|
|
| class TestTitleConfig: |
| """Tests for TitleConfig.""" |
|
|
| def test_default_config(self): |
| """Test default configuration values.""" |
| config = TitleConfig() |
| assert config.enabled is True |
| assert config.max_words == 6 |
| assert config.max_chars == 60 |
| assert config.model_name is None |
|
|
| def test_custom_config(self): |
| """Test custom configuration.""" |
| config = TitleConfig( |
| enabled=False, |
| max_words=10, |
| max_chars=100, |
| model_name="gpt-4", |
| ) |
| assert config.enabled is False |
| assert config.max_words == 10 |
| assert config.max_chars == 100 |
| assert config.model_name == "gpt-4" |
|
|
| def test_config_validation(self): |
| """Test configuration validation.""" |
| |
| with pytest.raises(ValueError): |
| TitleConfig(max_words=0) |
| with pytest.raises(ValueError): |
| TitleConfig(max_words=21) |
|
|
| |
| with pytest.raises(ValueError): |
| TitleConfig(max_chars=5) |
| with pytest.raises(ValueError): |
| TitleConfig(max_chars=201) |
|
|
| def test_get_set_config(self): |
| """Test global config getter and setter.""" |
| original_config = get_title_config() |
|
|
| |
| new_config = TitleConfig(enabled=False, max_words=10) |
| set_title_config(new_config) |
|
|
| |
| assert get_title_config().enabled is False |
| assert get_title_config().max_words == 10 |
|
|
| |
| set_title_config(original_config) |
|
|
|
|
| class TestTitleMiddleware: |
| """Tests for TitleMiddleware.""" |
|
|
| def test_middleware_initialization(self): |
| """Test middleware can be initialized.""" |
| middleware = TitleMiddleware() |
| assert middleware is not None |
| assert middleware.state_schema is not None |
|
|
| |
| |
| |
| |
|
|
| |
| |
| |
|
|
| |
| |
| |
|
|
|
|
| |
| |
| |
| |
| |
|
|