graph-rag / tests /test_core.py
GitHub Action
Automated sync to Hugging Face
c11a2f8
"""
Basic tests for core components
"""
import pytest
from src.graph_rag_service.core.models import Entity, Relationship, Chunk
def test_entity_creation():
"""Test creating an entity"""
entity = Entity(
name="Acme Corp",
type="Company",
properties={"industry": "Technology", "founded": "2020"}
)
assert entity.name == "Acme Corp"
assert entity.type == "Company"
assert entity.properties["industry"] == "Technology"
assert entity.confidence == 1.0
def test_relationship_creation():
"""Test creating a relationship"""
rel = Relationship(
source="Acme Corp",
target="Partner Inc",
type="PARTNERS_WITH",
confidence=0.9
)
assert rel.source == "Acme Corp"
assert rel.target == "Partner Inc"
assert rel.type == "PARTNERS_WITH"
assert rel.confidence == 0.9
def test_chunk_creation():
"""Test creating a chunk"""
chunk = Chunk(
text="Sample text content",
document_id="doc123",
chunk_index=0
)
assert chunk.text == "Sample text content"
assert chunk.document_id == "doc123"
assert chunk.chunk_index == 0
@pytest.mark.asyncio
async def test_llm_factory():
"""Test LLM factory creation"""
from src.graph_rag_service.core.llm_factory import LLMFactory
# Test creating with default provider
provider = LLMFactory.create()
assert provider is not None
assert provider.provider_name in ["ollama", "openai", "anthropic", "gemini"]
def test_config_loading():
"""Test configuration loading"""
from src.graph_rag_service.config import settings
assert settings.app_name == "Graph RAG Service"
assert settings.app_version == "0.1.0"
assert settings.default_llm_provider in ["ollama", "openai", "anthropic", "gemini"]
assert settings.chunk_size > 0
assert settings.default_top_k > 0
if __name__ == "__main__":
pytest.main([__file__, "-v"])