mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-03 15:01:00 +02:00
Squashed 'ai-context/trustgraph-templates/' content from commit 42a5fd1b
git-subtree-dir: ai-context/trustgraph-templates git-subtree-split: 42a5fd1b678f32be378062e30451e2052ccb95dd
This commit is contained in:
commit
74cc8a4685
1216 changed files with 116347 additions and 0 deletions
125
tests/conftest.py
Normal file
125
tests/conftest.py
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
"""
|
||||
Pytest configuration and shared fixtures for trustgraph-configurator tests.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
# =============================================================================
|
||||
# Version Configuration - Update these when adding new template versions
|
||||
# =============================================================================
|
||||
TESTED_VERSIONS = ["1.8", "1.9", "2.0"]
|
||||
PRIMARY_VERSION = "1.9" # Used when only one version is tested
|
||||
import sys
|
||||
import json
|
||||
import tempfile
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def test_config_dir():
|
||||
"""Path to the test configurations directory."""
|
||||
return Path(__file__).parent / "configs"
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def test_configs(test_config_dir):
|
||||
"""Dictionary of loaded test configurations."""
|
||||
configs = {}
|
||||
for config_file in test_config_dir.glob("*.json"):
|
||||
with open(config_file) as f:
|
||||
configs[config_file.name] = json.load(f)
|
||||
return configs
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def temp_output_dir():
|
||||
"""Temporary directory for test outputs."""
|
||||
temp_dir = tempfile.mkdtemp()
|
||||
yield Path(temp_dir)
|
||||
shutil.rmtree(temp_dir)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def run_configurator(monkeypatch, capsys):
|
||||
"""
|
||||
Fixture to run configurator with given arguments.
|
||||
|
||||
Usage:
|
||||
stdout, stderr, exit_code = run_configurator(['-t', '1.8', '-p', 'docker-compose', ...])
|
||||
|
||||
Returns:
|
||||
tuple: (stdout, stderr, exit_code)
|
||||
"""
|
||||
def _run(args):
|
||||
from trustgraph_configurator import run
|
||||
|
||||
# Set sys.argv with the command and arguments
|
||||
monkeypatch.setattr(sys, 'argv', ['tg-build-deployment'] + args)
|
||||
|
||||
exit_code = 0
|
||||
try:
|
||||
run() # run is already the function, not a module
|
||||
except SystemExit as e:
|
||||
exit_code = e.code if e.code is not None else 0
|
||||
|
||||
# Capture output
|
||||
captured = capsys.readouterr()
|
||||
return captured.out, captured.err, exit_code
|
||||
|
||||
return _run
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def golden_dir():
|
||||
"""Path to the golden files directory."""
|
||||
return Path(__file__).parent / "golden"
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def test_versions():
|
||||
"""List of template versions to test."""
|
||||
return TESTED_VERSIONS
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def primary_version():
|
||||
"""Primary version for tests that only need one version."""
|
||||
return PRIMARY_VERSION
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def test_platforms():
|
||||
"""List of platforms to test."""
|
||||
return [
|
||||
"docker-compose",
|
||||
"podman-compose",
|
||||
"minikube-k8s",
|
||||
"gcp-k8s",
|
||||
"aks-k8s",
|
||||
"eks-k8s",
|
||||
"scw-k8s",
|
||||
"ovh-k8s",
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def test_config_names():
|
||||
"""List of test configuration file names."""
|
||||
return [
|
||||
"minimal.json",
|
||||
"complex-rag.json",
|
||||
"multi-service.json",
|
||||
"cloud-aws.json",
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_config_file(tmp_path):
|
||||
"""Create a temporary config file for testing."""
|
||||
def _create(config_data):
|
||||
config_file = tmp_path / "test_config.json"
|
||||
with open(config_file, 'w') as f:
|
||||
json.dump(config_data, f)
|
||||
return str(config_file)
|
||||
return _create
|
||||
Loading…
Add table
Add a link
Reference in a new issue