🧪 Add testing improvements for mcp_server.py - #52
Conversation
Introduced a test suite using `unittest` for `mcp_server.py` to ensure proper configuration parsing, service initialization logic, transport validation, and tool result encapsulation using `patch.dict(os.environ)` to test various states. Co-authored-by: joy7758 <138868899+joy7758@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a9d0a98e6a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| from titmas_action_gate.service import ActionGateService | ||
|
|
||
|
|
||
| class McpServerTests(unittest.TestCase): |
There was a problem hiding this comment.
Refresh the recommendation gate before adding tests
This commit adds a new MCP test suite without updating governance/agent-recommendation-gate.json, so the retained gate still describes a previous task, branch, and base commit rather than this development work. Update the gate for this task, including the recommendation rationale, remediation evidence, remaining gaps, and stop conditions, before accepting the tests.
AGENTS.md reference: AGENTS.md:L23-L27
Useful? React with 👍 / 👎.
| with patch.dict( | ||
| os.environ, | ||
| { | ||
| "TITMAS_ACTION_GATE_STATE_DIR": "/tmp", |
There was a problem hiding this comment.
Isolate production-mode state in a temporary directory
When this test runs on a shared developer or CI host, using /tmp makes the real constructor open or create the global /tmp/action-gate.sqlite3, change its SQLite journal mode, create schema objects, and leave the database and /tmp/evidence behind. A stale, incompatible, concurrently used, or genuine Action Gate database at that path can therefore make the test fail or be modified by it; use a per-test TemporaryDirectory and clean it up instead.
Useful? React with 👍 / 👎.
Introduced a test suite using `unittest` for `mcp_server.py` to ensure proper configuration parsing, service initialization logic, transport validation, and tool result encapsulation using `patch.dict(os.environ)` to test various states. Co-authored-by: joy7758 <138868899+joy7758@users.noreply.github.com>
- Updated imports in `service.py`, `test_security_argument_injection.py`, and `test_workflow.py` to match the correct alphabetical formatting and unused dependencies. - Added spaces and standardized multiline dictionary formatting in `test_errors.py` and `test_security_argument_injection.py`. - Removed redundant mode "r" arguments from `open` statements. Co-authored-by: joy7758 <138868899+joy7758@users.noreply.github.com>
🎯 What: The testing gap addressed is a missing test file for
mcp_server.py.📊 Coverage: Scenarios covered include testing the default and custom configurations for
configured_mcp_host, checking both valid and missing environment variable configurations inget_service(covering demo and prod modes), handling invalid and valid transport modes inmain, and validating different error responses when running operations via_call.✨ Result: A full suite of deterministic and robust tests have been created to significantly improve the coverage of
mcp_server.py, ensuring its stability and helping to prevent any regression regarding internal MCP state.PR created automatically by Jules for task 6889418667083354878 started by @joy7758