Skip to content

test(orchestrator): expand MCP integration coverage for orchestrator - #4273

Open
HusneShabbir wants to merge 1 commit into
redhat-developer:mainfrom
HusneShabbir:qe/orchestrator-mcp-integration-tests
Open

test(orchestrator): expand MCP integration coverage for orchestrator#4273
HusneShabbir wants to merge 1 commit into
redhat-developer:mainfrom
HusneShabbir:qe/orchestrator-mcp-integration-tests

Conversation

@HusneShabbir

Copy link
Copy Markdown
Member

Summary

Expands Orchestrator MCP integration coverage to match the Scorecard QE pattern (#3664), on top of the wiring tests from #4117.

Coverage

  • Discovery / metadata — all 5 tools via tools/list; readOnlyHint / destructiveHint (incl. execute-workflow destructive)
  • pluginSources gating — tools hidden when orchestrator is excluded
  • list-workflows — happy path; conditional RBAC → only allowed workflow IDs; access denied
  • get-workflow-schema — happy path; missing workflow; missing/invalid workflowId
  • execute-workflow — happy path; Ajv validation failure; access denied; missing workflowId
  • list-instances / get-instance — happy paths; missing instance; missing/invalid instanceId

Resolves:
https://redhat.atlassian.net/browse/RHIDP-15230

Test plan

  • yarn --cwd workspaces/orchestrator/plugins/orchestrator-backend test:integration
  • Result: 19/19 passing

…tools

Add QE-style coverage for discovery, annotations, pluginSources gating,
conditional RBAC filtering, validation errors, and deny/not-found paths
across the five Orchestrator MCP actions.

Assisted-by: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
@HusneShabbir
HusneShabbir requested a review from a team August 12, 2026 12:21
@HusneShabbir HusneShabbir changed the title test(orchestrator): expand MCP integration coverage for orchestrator … test(orchestrator): expand MCP integration coverage for orchestrator Aug 12, 2026
@rhdh-gh-app

rhdh-gh-app Bot commented Aug 12, 2026

Copy link
Copy Markdown

Missing Changesets

The following package(s) are changed by this PR but do not have a changeset:

  • @red-hat-developer-hub/backstage-plugin-orchestrator-backend

See CONTRIBUTING.md for more information about how to add changesets.

Changed Packages

Package Name Package Path Changeset Bump Current Version
@red-hat-developer-hub/backstage-plugin-orchestrator-backend workspaces/orchestrator/plugins/orchestrator-backend none v8.12.0

@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecov Bot commented Aug 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.09%. Comparing base (71104e8) to head (8a3631d).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4273   +/-   ##
=======================================
  Coverage   59.09%   59.09%           
=======================================
  Files        2458     2458           
  Lines       98057    98066    +9     
  Branches    27341    27341           
=======================================
+ Hits        57945    57955   +10     
+ Misses      39830    39829    -1     
  Partials      282      282           
Flag Coverage Δ *Carryforward flag
adoption-insights 84.55% <ø> (ø) Carriedforward from 71104e8
ai-integrations 68.29% <ø> (ø) Carriedforward from 71104e8
app-defaults 69.79% <ø> (ø) Carriedforward from 71104e8
augment 46.67% <ø> (ø) Carriedforward from 71104e8
boost 77.63% <ø> (ø) Carriedforward from 71104e8
bulk-import 72.79% <ø> (ø) Carriedforward from 71104e8
cost-management 13.55% <ø> (ø) Carriedforward from 71104e8
dcm 67.21% <ø> (ø) Carriedforward from 71104e8
e2e-adoption-insights 60.00% <ø> (ø) Carriedforward from 71104e8
e2e-intelligent-assistant 46.74% <ø> (ø) Carriedforward from 71104e8
extensions 56.59% <ø> (ø) Carriedforward from 71104e8
global-floating-action-button 71.18% <ø> (ø) Carriedforward from 71104e8
global-header 66.50% <ø> (ø) Carriedforward from 71104e8
homepage 47.50% <ø> (ø) Carriedforward from 71104e8
install-dynamic-plugins 59.95% <ø> (ø) Carriedforward from 71104e8
intelligent-assistant 75.42% <ø> (ø) Carriedforward from 71104e8
konflux 91.98% <ø> (ø) Carriedforward from 71104e8
lightspeed 69.02% <ø> (ø) Carriedforward from 71104e8
mcp-integrations 83.40% <ø> (ø) Carriedforward from 71104e8
orchestrator 71.35% <100.00%> (+0.04%) ⬆️
quickstart 63.74% <ø> (ø) Carriedforward from 71104e8
sandbox 79.56% <ø> (ø) Carriedforward from 71104e8
scorecard 86.25% <ø> (ø) Carriedforward from 71104e8
theme 88.14% <ø> (ø) Carriedforward from 71104e8
translations 5.12% <ø> (ø) Carriedforward from 71104e8
x2a 79.20% <ø> (ø) Carriedforward from 71104e8

*This pull request uses carry forward flags. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71104e8...8a3631d. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gabemontero

Copy link
Copy Markdown
Contributor

eventually @HusneShabbir , once we get a sign off from @lholmquist @lokanandaprabhu from the plugins / orchestrator team, we have the change #4117 that @jordigilh and @yangcao77 have been collaborating on that I suspect we would want coverage here for as well (but I'll defer to @yangcao77 for the final say on that )

@lholmquist lholmquist left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think you might need to add a changeset here

@HusneShabbir

Copy link
Copy Markdown
Member Author

@lholmquist This PR is test-only (integration coverage under testUtils / *.integration.test.ts), so no published package surface changed. Per the Backstage changeset guidance, test-only changes don't need a changeset — same approach as #3664. Happy to add an empty one if you prefer, but I don't think it's required here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants