1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

Bind generated clients to product version

This commit is contained in:
Andraxion 2026-07-29 15:47:08 -04:00
parent 47ac329947
commit dc9500e50e
5 changed files with 40 additions and 0 deletions

View file

@ -19,6 +19,7 @@ from jsonschema import Draft202012Validator
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from docforge._version import __version__
from docforge.changeset_contract import document_hash
from docforge.cli import _parser, _run, main
from docforge.client_config import (
@ -103,6 +104,7 @@ class ClientIntegrationTests(unittest.TestCase):
second = generate_client_configuration(project, client, no_ast=True)
self.assertEqual(first, second)
Draft202012Validator(CONFIGURATION_SCHEMA).validate(first)
self.assertEqual(__version__, first["docforge_version"])
Draft202012Validator(POLICY_SCHEMA).validate(first["effective_policy"])
self.assertEqual("read", first["binding"]["capability_mode"])
self.assertEqual(
@ -251,6 +253,11 @@ class ClientIntegrationTests(unittest.TestCase):
validator.validate(result)
_validate_configuration_result(result)
version_drift = json.loads(json.dumps(result))
version_drift["docforge_version"] = "0.0.0"
with self.assertRaisesRegex(AssertionError, "product version"):
_validate_configuration_result(version_drift)
for field, value in (
("schema_version", 1),
("manual", "on-demand"),