import sys
import unittest
from unittest.mock import MagicMock
# Mock jsonschema before import
mock_jsonschema = MagicMock()
sys.modules["jsonschema"] = mock_jsonschema
from rlm_mcp_server.validate import validate_result, validate_request
class TestValidation(unittest.TestCase):
def test_valid_result_call(self):
example = {
"version": "rlm.solve.result.v1",
"status": "ok",
"answer": "foo"
}
# This calls validate_result -> jsonschema.validate(example, schema)
validate_result(example)
# Verify validate was called
mock_jsonschema.validate.assert_called()
args, _ = mock_jsonschema.validate.call_args
self.assertEqual(args[0], example)
# Check if schema looks like our schema
self.assertEqual(args[1]["title"], "rlm.solve result v1")
def test_valid_request_call(self):
example = {"query": "foo", "text": "bar"}
validate_request(example)
mock_jsonschema.validate.assert_called()
args, _ = mock_jsonschema.validate.call_args
self.assertEqual(args[0], example)
self.assertEqual(args[1]["title"], "rlm.solve request v1")
if __name__ == "__main__":
unittest.main()