fix: resolve CI test failures by adding missing pytest fixtures
This commit is contained in:
151
app/tests/conftest.py
Normal file
151
app/tests/conftest.py
Normal file
@@ -0,0 +1,151 @@
|
||||
import os
|
||||
import tempfile
|
||||
import pytest
|
||||
from cli_memory.config import Config
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def temp_dir():
|
||||
"""Provide a temporary directory."""
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
yield tmpdir
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def config(temp_dir):
|
||||
"""Provide a Config instance."""
|
||||
return Config()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_project_data():
|
||||
"""Provide sample project data."""
|
||||
return {
|
||||
"name": "test-project",
|
||||
"path": "/tmp/test",
|
||||
"git_remote": "https://github.com/user/test.git",
|
||||
"tech_stack": ["python", "docker"],
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_command_data():
|
||||
"""Provide sample command data."""
|
||||
return {
|
||||
"command": "git status",
|
||||
"command_type": "git",
|
||||
"exit_code": 0,
|
||||
"duration_ms": 50,
|
||||
"working_directory": "/home/user/project",
|
||||
"tags": ["git", "status"],
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_workflow_data():
|
||||
"""Provide sample workflow data."""
|
||||
return {
|
||||
"name": "Test Workflow",
|
||||
"description": "A test workflow",
|
||||
"commands": [
|
||||
{"command": "git status", "command_type": "git"},
|
||||
{"command": "git add .", "command_type": "git"},
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def env_override():
|
||||
"""Provide environment variable override context."""
|
||||
original_env = os.environ.copy()
|
||||
|
||||
yield
|
||||
|
||||
os.environ.clear()
|
||||
os.environ.update(original_env)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_docker_yaml():
|
||||
"""Provide sample Docker YAML content for testing."""
|
||||
return """version: \"1.0\"
|
||||
description: Docker command patterns
|
||||
|
||||
patterns:
|
||||
- name: list_containers
|
||||
description: List running containers
|
||||
patterns:
|
||||
- list running containers
|
||||
- show running containers
|
||||
- list containers
|
||||
- show all containers
|
||||
- docker ps
|
||||
template: docker ps
|
||||
explanation: Lists all running containers with their IDs, images, and status.
|
||||
|
||||
- name: run_container
|
||||
description: Run a new container
|
||||
patterns:
|
||||
- run a container
|
||||
- start a new container
|
||||
- run docker container
|
||||
- docker run
|
||||
template: docker run -d --name {name} {image}
|
||||
explanation: Starts a new detached container with the specified image.
|
||||
|
||||
- name: stop_container
|
||||
description: Stop a running container
|
||||
patterns:
|
||||
- stop container
|
||||
- stop docker container
|
||||
- stop running container
|
||||
template: docker stop {container}
|
||||
explanation: Stops the specified running container.
|
||||
"""
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_git_yaml():
|
||||
"""Provide sample Git YAML content for testing."""
|
||||
return """version: \"1.0\"
|
||||
description: Git command patterns
|
||||
|
||||
patterns:
|
||||
- name: git_status
|
||||
description: Show working tree status
|
||||
patterns:
|
||||
- git status
|
||||
- check status
|
||||
- show changes
|
||||
template: git status
|
||||
explanation: Shows the current status of the working directory.
|
||||
|
||||
- name: git_add
|
||||
description: Add file contents to index
|
||||
patterns:
|
||||
- add file
|
||||
- stage file
|
||||
- git add
|
||||
template: git add {file}
|
||||
explanation: Adds file contents to the staging area.
|
||||
|
||||
- name: git_commit
|
||||
description: Commit changes
|
||||
patterns:
|
||||
- commit changes
|
||||
- make commit
|
||||
- git commit
|
||||
template: git commit -m \"{message}\"
|
||||
explanation: Records changes in the repository with a message.
|
||||
"""
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_corrections_json():
|
||||
"""Provide sample corrections JSON for testing."""
|
||||
return {
|
||||
"version": "1.0",
|
||||
"corrections": {
|
||||
"custom:my custom query": "echo custom command"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user