mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 16:18:30 +00:00
- Use typing_extensions.TypedDict instead of typing.TypedDict for Python < 3.12 compatibility - Remove unused pytest import from test_config.py - Remove unused sys import from test_factory.py - Fixes Pydantic error: 'Please use typing_extensions.TypedDict instead of typing.TypedDict on Python < 3.12' Co-Authored-By: João <joao@crewai.com>
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
"""Tests for Elasticsearch configuration."""
|
|
|
|
from crewai.rag.elasticsearch.config import ElasticsearchConfig
|
|
|
|
|
|
def test_elasticsearch_config_defaults():
|
|
"""Test that ElasticsearchConfig has correct defaults."""
|
|
config = ElasticsearchConfig()
|
|
|
|
assert config.provider == "elasticsearch"
|
|
assert config.vector_dimension == 384
|
|
assert config.similarity == "cosine"
|
|
assert config.embedding_function is not None
|
|
assert config.options["hosts"] == ["http://localhost:9200"]
|
|
assert config.options["use_ssl"] is False
|
|
|
|
|
|
def test_elasticsearch_config_custom_options():
|
|
"""Test that ElasticsearchConfig accepts custom options."""
|
|
custom_options = {
|
|
"hosts": ["https://elastic.example.com:9200"],
|
|
"username": "user",
|
|
"password": "pass",
|
|
"use_ssl": True,
|
|
}
|
|
|
|
config = ElasticsearchConfig(
|
|
options=custom_options,
|
|
vector_dimension=768,
|
|
similarity="dot_product"
|
|
)
|
|
|
|
assert config.provider == "elasticsearch"
|
|
assert config.vector_dimension == 768
|
|
assert config.similarity == "dot_product"
|
|
assert config.options["hosts"] == ["https://elastic.example.com:9200"]
|
|
assert config.options["username"] == "user"
|
|
assert config.options["use_ssl"] is True
|
|
|
|
|
|
def test_elasticsearch_config_embedding_function():
|
|
"""Test that embedding function works correctly."""
|
|
config = ElasticsearchConfig()
|
|
|
|
embedding = config.embedding_function("test text")
|
|
|
|
assert isinstance(embedding, list)
|
|
assert len(embedding) == config.vector_dimension
|
|
assert all(isinstance(x, float) for x in embedding)
|