Skip to content

🧪 Add testing improvements for mcp_server.py - #52

Open
joy7758 wants to merge 3 commits into
mainfrom
test-mcp-server-6889418667083354878
Open

🧪 Add testing improvements for mcp_server.py#52
joy7758 wants to merge 3 commits into
mainfrom
test-mcp-server-6889418667083354878

Conversation

@joy7758

@joy7758 joy7758 commented Aug 23, 2026

Copy link
Copy Markdown
Owner

🎯 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 in get_service (covering demo and prod modes), handling invalid and valid transport modes in main, 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

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>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread tests/test_mcp_server.py
from titmas_action_gate.service import ActionGateService


class McpServerTests(unittest.TestCase):

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Comment thread tests/test_mcp_server.py
with patch.dict(
os.environ,
{
"TITMAS_ACTION_GATE_STATE_DIR": "/tmp",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

google-labs-jules Bot and others added 2 commits August 23, 2026 02:12
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant