Infrastructure: - Add Redis and Celery workers to all docker-compose files - Fix celery migration race condition in entrypoint.sh - Add healthchecks and resource limits to dev compose - Update .env.template with Redis/Celery variables Backend Models & Schemas: - Rename Sprint.completed_points to velocity (per requirements) - Add AgentInstance.name as required field - Rename Issue external tracker fields for consistency - Add IssueSource and TrackerType enums - Add Project.default_tracker_type field Backend Fixes: - Add Celery retry configuration with exponential backoff - Remove unused sequence counter from EventBus - Add mypy overrides for test dependencies - Fix test file using wrong schema (UserUpdate -> dict) Frontend Fixes: - Fix memory leak in useProjectEvents (proper cleanup) - Fix race condition with stale closure in reconnection - Sync TokenWithUser type with regenerated API client - Fix expires_in null handling in useAuth - Clean up unused imports in prototype pages - Add ESLint relaxed rules for prototype files CI/CD: - Add E2E testing stage with Testcontainers - Add security scanning with Trivy and pip-audit - Add dependency caching for faster builds Tests: - Update all tests to use renamed fields (velocity, name, etc.) - Fix 14 schema test failures - All 1500 tests pass with 91% coverage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
70 lines
1.5 KiB
Python
70 lines
1.5 KiB
Python
# tests/schemas/syndarix/conftest.py
|
|
"""
|
|
Shared fixtures for Syndarix schema tests.
|
|
"""
|
|
|
|
import uuid
|
|
from datetime import date, timedelta
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture
|
|
def valid_uuid():
|
|
"""Return a valid UUID for testing."""
|
|
return uuid.uuid4()
|
|
|
|
|
|
@pytest.fixture
|
|
def valid_project_data():
|
|
"""Return valid project data for schema testing."""
|
|
return {
|
|
"name": "Test Project",
|
|
"slug": "test-project",
|
|
"description": "A test project",
|
|
}
|
|
|
|
|
|
@pytest.fixture
|
|
def valid_agent_type_data():
|
|
"""Return valid agent type data for schema testing."""
|
|
return {
|
|
"name": "Backend Engineer",
|
|
"slug": "backend-engineer",
|
|
"personality_prompt": "You are an expert backend engineer.",
|
|
"primary_model": "claude-opus-4-5-20251101",
|
|
}
|
|
|
|
|
|
@pytest.fixture
|
|
def valid_sprint_data(valid_uuid):
|
|
"""Return valid sprint data for schema testing."""
|
|
today = date.today()
|
|
return {
|
|
"project_id": valid_uuid,
|
|
"name": "Sprint 1",
|
|
"number": 1,
|
|
"start_date": today,
|
|
"end_date": today + timedelta(days=14),
|
|
}
|
|
|
|
|
|
@pytest.fixture
|
|
def valid_issue_data(valid_uuid):
|
|
"""Return valid issue data for schema testing."""
|
|
return {
|
|
"project_id": valid_uuid,
|
|
"title": "Test Issue",
|
|
"body": "Issue description",
|
|
}
|
|
|
|
|
|
@pytest.fixture
|
|
def valid_agent_instance_data(valid_uuid):
|
|
"""Return valid agent instance data for schema testing."""
|
|
return {
|
|
"agent_type_id": valid_uuid,
|
|
"project_id": valid_uuid,
|
|
"name": "TestAgent",
|
|
}
|