Initial commit: library-desk service extraction from portainer-core
Build and Push / build (release) Successful in 36s
Build and Push / build (release) Successful in 36s
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
"""Pytest configuration and shared fixtures for Library Desk tests."""
|
||||
|
||||
import pytest
|
||||
import pytest_asyncio
|
||||
from typing import AsyncGenerator
|
||||
|
||||
# Test configuration
|
||||
pytest_plugins = ("pytest_asyncio",)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def test_user() -> str:
|
||||
"""Default test user."""
|
||||
return "test_user"
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def neo4j_test_uri() -> str:
|
||||
"""Test Neo4j URI."""
|
||||
return "bolt://neo4j:7687"
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def neo4j_test_auth() -> tuple:
|
||||
"""Test Neo4j authentication."""
|
||||
return ("neo4j", "test_password")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def qdrant_test_url() -> str:
|
||||
"""Test Qdrant URL."""
|
||||
return "http://qdrant:6333"
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def wikijs_test_config() -> dict:
|
||||
"""Test Wiki.js configuration."""
|
||||
return {
|
||||
"base_url": "http://wiki:3000",
|
||||
"api_key": "test_api_key"
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def searxng_test_url() -> str:
|
||||
"""Test SearXNG URL."""
|
||||
return "http://searxng:8080"
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def ollama_test_config() -> dict:
|
||||
"""Test Ollama configuration."""
|
||||
return {
|
||||
"base_url": "http://ollama:11434",
|
||||
"model": "nomic-embed-text"
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def redis_test_url() -> str:
|
||||
"""Test Redis URL."""
|
||||
return "redis://redis-shared:6379/4"
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_document() -> dict:
|
||||
"""Sample document for testing."""
|
||||
return {
|
||||
"id": "test_doc_1",
|
||||
"title": "Test Document",
|
||||
"content": "This is a test document for unit testing.",
|
||||
"metadata": {
|
||||
"source": "test",
|
||||
"author": "test_user"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_chunks() -> list:
|
||||
"""Sample document chunks for testing."""
|
||||
return [
|
||||
{
|
||||
"content": "First chunk of text.",
|
||||
"metadata": {"chunk_index": 0}
|
||||
},
|
||||
{
|
||||
"content": "Second chunk of text.",
|
||||
"metadata": {"chunk_index": 1}
|
||||
},
|
||||
{
|
||||
"content": "Third chunk of text.",
|
||||
"metadata": {"chunk_index": 2}
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_embeddings() -> list:
|
||||
"""Sample embeddings for testing (768-dimensional for nomic-embed-text)."""
|
||||
import random
|
||||
random.seed(42) # Reproducible embeddings
|
||||
|
||||
# Generate 3 sample 768-dimensional embeddings
|
||||
return [
|
||||
[random.random() for _ in range(768)],
|
||||
[random.random() for _ in range(768)],
|
||||
[random.random() for _ in range(768)]
|
||||
]
|
||||
Reference in New Issue
Block a user