Skip to content

Suppress MockEvent emission for internal stub control requests#2296

Merged
joelrosario merged 2 commits intomainfrom
codex/internal-mock-events
Feb 24, 2026
Merged

Suppress MockEvent emission for internal stub control requests#2296
joelrosario merged 2 commits intomainfrom
codex/internal-mock-events

Conversation

@joelrosario
Copy link
Copy Markdown
Contributor

@joelrosario joelrosario commented Feb 24, 2026

What:
Added a helper on HttpLogMessage to detect _specmatic control paths plus HEAD / and GET /actuator/health, gated MockEvent emission in HttpStub, and expanded tests to cover the new behavior along with the parameterized predicate check.

Why:
Internal control traffic was surfacing in mock-listener-driven UIs; we now suppress those events while preserving logging and normal behavior.

How:
Gated the listener notification path with isInternalControlRequestForMockEvent, added regression tests for listener suppression and the predicate, and adjusted Gradle JVM settings to keep resource usage aligned with the change.

Checklist:

  • Unit Tests
  • Build passing locally
  • Sonar Quality Gate N/A
  • Security scans don't report any vulnerabilities N/A
  • Documentation added/updated (share link) N/A
  • Sample Project added/updated (share link) N/A
  • Demo video (share link) N/A
  • Article on Website (share link) N/A
  • Roadmpap updated (share link) N/A
  • Conference Talk (share link) N/A

Summary

  • Gate MockEvent emission from HttpStub so _specmatic/*, HEAD /, and GET /actuator/health stay out of listener-driven interfaces while keeping logs intact.
  • Added parameterized detection tests and listener regression tests to ensure the new predicate behaves as expected.
  • Reduced JVM heap flags in gradle.properties to match current resource expectations.

Testing

  • Not run (not requested)

When raising a pull request look for a github pull request template at .github/PULL_REQUEST_TEMPLATE.md.

If you find it, fill up the template, check off relevant items in the checklist, remove the Issue ID section at the endend. Then use it as the description of the pull request.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 24, 2026

Summary

Line coverage Branch coverage

Assembly Line coverage Branch coverage
application 58.7% 51.8%
application/backwardCompatibility 77.2% 62.1%
application/mcp 84.3% 89.2%
application/validate 1.3% 0%
io/specmatic/conversions 93.1% 80.3%
io/specmatic/conversions/lenient 93.9% 79.4%
io/specmatic/core 79.9% 62.6%
io/specmatic/core/azure 0% 0%
io/specmatic/core/config 59.7% 34.3%
io/specmatic/core/config/v1 98% 25%
io/specmatic/core/config/v2 91.9% 77.5%
io/specmatic/core/config/v3 49.5% 24.6%
io/specmatic/core/config/v3/components 71.4% 40%
io/specmatic/core/config/v3/components/runOptions 73% 44.7%
io/specmatic/core/config/v3/components/services 58.6% 50%
io/specmatic/core/config/v3/components/settings 98.3% 50%
io/specmatic/core/config/v3/components/sources 80% 59%
io/specmatic/core/config/v3/specmatic 65.3% 25%
io/specmatic/core/discriminator 53.2% 43.1%
io/specmatic/core/examples/module 43.3% 24.5%
io/specmatic/core/examples/server 70.4% 35.7%
io/specmatic/core/filters 83.6% 70.1%
io/specmatic/core/fuzzy 95.8% 92.7%
io/specmatic/core/git 8.1% 12.8%
io/specmatic/core/jsonoperator 58.4% 68.6%
io/specmatic/core/jsonoperator/value 85.7% 75.9%
io/specmatic/core/lifecycle 0% ****
io/specmatic/core/log 73.1% 56.4%
io/specmatic/core/matchers 76.7% 62.6%
io/specmatic/core/overlay 85.7% 58.3%
io/specmatic/core/pattern 87.1% 76.3%
io/specmatic/core/pattern/config 100% ****
io/specmatic/core/pattern/regex 94% 86.5%
io/specmatic/core/report 97.7% 92.8%
io/specmatic/core/route/modules 95.8% 90%
io/specmatic/core/utilities 64.8% 56.5%
io/specmatic/core/value 81.4% 71.5%
io/specmatic/core/wsdl/parser 80.9% 41.4%
io/specmatic/core/wsdl/parser/message 88.6% 67.8%
io/specmatic/core/wsdl/parser/operation 100% 100%
io/specmatic/core/wsdl/payload 71.7% 33.3%
io/specmatic/junit5/support 0% ****
io/specmatic/loader 80.4% 50.8%
io/specmatic/mcp/constants 0% ****
io/specmatic/mcp/report 0% 0%
io/specmatic/mcp/test 0% 0%
io/specmatic/mcp/test/client 0% 0%
io/specmatic/mcp/test/client/model 0% 0%
io/specmatic/mock 60.9% 57.3%
io/specmatic/proxy 66.5% 48.6%
io/specmatic/specmatic/core 100% ****
io/specmatic/specmatic/executable 100% ****
io/specmatic/specmatic/mcp 0% ****
io/specmatic/stub 78.4% 69.2%
io/specmatic/stub/listener 96.8% 90%
io/specmatic/stub/report 98.1% 75%
io/specmatic/test 73% 61.5%
io/specmatic/test/asserts 92.1% 86.6%
io/specmatic/test/fixtures **** ****
io/specmatic/test/handlers 90.3% 63.5%
io/specmatic/test/listeners 84.2% 54%
io/specmatic/test/matchers **** ****
io/specmatic/test/reports 69% 36.4%
io/specmatic/test/reports/coverage 96.9% 53.9%
io/specmatic/test/reports/coverage/console 85.8% 81%
io/specmatic/test/reports/coverage/html 0% 0%
io/specmatic/test/reports/renderers 12.4% 14%
io/specmatic/test/utils 92.1% 82%

@joelrosario joelrosario merged commit 8880a7f into main Feb 24, 2026
3 checks passed
@joelrosario joelrosario deleted the codex/internal-mock-events branch February 24, 2026 14:30
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