Files
prompts/tests/registry/models/test_registry_payload_models.py
T

48 lines
1.5 KiB
Python

from pathlib import PurePosixPath
import pytest
from personal_mcp.registry.models.prompt import PromptArgumentEntry
from personal_mcp.registry.models.registry import PromptRecord
from personal_mcp.registry.models.registry import PromptSummaryPayload
pytestmark = pytest.mark.unit
def _make_prompt_record() -> PromptRecord:
return PromptRecord(
prompt_id="demo-prompt",
name="demo-prompt",
description="demo prompt",
version="0.9.0",
tags=("testing",),
capabilities=("resource://prompts/demo-prompt/document",),
arguments={
"topic": PromptArgumentEntry(
title="Topic",
required=True,
description="topic to discuss",
)
},
document_uri="resource://prompts/demo-prompt/document",
document_relpath=PurePosixPath("prompts/demo-prompt/PROMPT.md"),
document_content="# demo",
)
def test_prompt_summary_payload_from_record_shape() -> None:
record = _make_prompt_record()
payload = PromptSummaryPayload.from_record(record).model_dump()
assert payload == {
"id": "demo-prompt",
"name": "demo-prompt",
"description": "demo prompt",
"tags": ["testing"],
"capabilities": ["resource://prompts/demo-prompt/document"],
"version": "0.9.0",
"document_uri": "resource://prompts/demo-prompt/document",
"detail_uri": "resource://catalog/prompts/demo-prompt",
}