Skip to main content
Glama
test_artifacts.py4.17 kB
"""Tests for artifact writer.""" from pathfinder_mcp.artifacts import ArtifactWriter class TestArtifactWriter: """Tests for ArtifactWriter class.""" def test_write_research_creates_file( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, ) -> None: """write_research creates research.md.""" session_manager.create_session(sample_session_id) path = artifact_writer.write_research( sample_session_id, "Test findings", task="Test Task" ) assert path.exists() assert path.name == "research.md" content = path.read_text() assert "Test Task" in content assert "Test findings" in content def test_write_research_appends( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, ) -> None: """write_research appends to existing file.""" session_manager.create_session(sample_session_id) artifact_writer.write_research(sample_session_id, "First", task="Task") artifact_writer.write_research(sample_session_id, "Second") content = artifact_writer.read_artifact(sample_session_id, "research.md") assert content is not None assert "First" in content assert "Second" in content def test_write_plan_creates_file( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, sample_plan_content: str, ) -> None: """write_plan creates plan.md.""" session_manager.create_session(sample_session_id) path = artifact_writer.write_plan(sample_session_id, sample_plan_content) assert path.exists() assert path.name == "plan.md" def test_write_progress_creates_file( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, ) -> None: """write_progress creates progress.md.""" session_manager.create_session(sample_session_id) path = artifact_writer.write_progress(sample_session_id, "Phase 1 done") assert path.exists() assert path.name == "progress.md" def test_read_artifact_returns_content( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, ) -> None: """read_artifact returns file content.""" session_manager.create_session(sample_session_id) artifact_writer.write_research(sample_session_id, "Content", task="Task") content = artifact_writer.read_artifact(sample_session_id, "research.md") assert content is not None assert "Content" in content def test_read_artifact_returns_none_for_missing( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, ) -> None: """read_artifact returns None for non-existent file.""" session_manager.create_session(sample_session_id) result = artifact_writer.read_artifact(sample_session_id, "nonexistent.md") assert result is None def test_artifact_exists( self, artifact_writer: ArtifactWriter, session_manager, sample_session_id: str, ) -> None: """artifact_exists correctly detects files.""" session_manager.create_session(sample_session_id) assert not artifact_writer.artifact_exists(sample_session_id, "research.md") artifact_writer.write_research(sample_session_id, "Test", task="Task") assert artifact_writer.artifact_exists(sample_session_id, "research.md") def test_get_plan_template(self, artifact_writer: ArtifactWriter) -> None: """get_plan_template returns valid template.""" template = artifact_writer.get_plan_template( name="Test Plan", overview="Test overview" ) assert "---" in template # YAML frontmatter assert "Test Plan" in template assert "Test overview" in template assert "## Architecture Overview" in template assert "## Phase 1" in template

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jamesctucker/pathfinder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server