• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 26239810132
66%

Build:
DEFAULT BRANCH: main
Ran 21 May 2026 04:48PM UTC
Jobs 1
Files 736
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 May 2026 04:42PM UTC coverage: 65.756% (+0.03%) from 65.726%
26239810132

push

github

web-flow
Wire OBO dispatch arms and reconciler branch (#5345)

* Wire OBO dispatch arms and reconciler branch

Implements changes for issue #5328:
- Replace the placeholder OBO arms in AddExternalAuthConfigOptions and
  getExternalAuthConfigSecretEnvVar with calls into the registered OBO
  handler (OBOApplyRunConfig / OBOSecretEnvVars). In upstream-only
  builds the default handler returns obo.ErrEnterpriseRequired, so the
  dispatch never falls through to the default arm's generic
  "unsupported external auth type" error.
- Add an OBO branch to MCPExternalAuthConfigReconciler.Reconcile that
  calls controllerutil.OBOValidate after the existing Validate()
  succeeds. errors.Is(err, obo.ErrEnterpriseRequired) maps to
  Reason=EnterpriseRequired; any other error maps to
  Reason=InvalidConfig. The branch writes status via
  controllerutil.MutateAndPatchStatus per the operator status-write
  convention; the existing r.Status().Update call sites are untouched
  (refactor is out of scope for this task).
- Cover each dispatch arm with a fake-client unit test that asserts
  errors.Is matches obo.ErrEnterpriseRequired and that no
  "unsupported external auth type" string leaks. A table-driven
  setInvalid test verifies the reason-string selection handles the
  sentinel directly, the sentinel through a fmt.Errorf wrap (the
  vMCP converter path), and any other error.

* Address code review feedback on OBO dispatch wiring

Fixed issues from code review:
- CRITICAL: setInvalid now re-fetches the object via r.Get and re-applies
  applyIdentitySynthesizedCondition inside the MutateAndPatchStatus
  closure. Previously the helper diffed against an already-mutated
  snapshot, so a user switching a config from embeddedAuthServer to obo
  would leave a stale IdentitySynthesized=True condition lingering on
  the server. Regression test
  TestMCPExternalAuthConfigReconciler_OBO_ClearsStaleIdentitySynthesized
  constructs that scenario and asserts the stale condition is removed
  ... (continued)

59 of 69 new or added lines in 5 files covered. (85.51%)

8 existing lines in 3 files now uncovered.

64919 of 98727 relevant lines covered (65.76%)

63.42 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
62.88
2.2% cmd/thv-operator/controllers/mcpexternalauthconfig_controller.go
1
74.9
0.8% cmd/thv-operator/controllers/virtualmcpserver_deployment.go

Coverage Regressions

Lines Coverage ∆ File
4
56.68
-0.36% pkg/workloads/manager.go
2
96.46
0.0% pkg/authserver/storage/memory.go
2
73.63
-0.64% pkg/runner/config.go
Jobs
ID Job ID Ran Files Coverage
1 26239810132.1 21 May 2026 04:48PM UTC 736
65.76
GitHub Action Run
Source Files on build 26239810132
  • Tree
  • List 736
  • Changed 9
  • Source Changed 4
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26239810132
  • 483e91d2 on github
  • Prev Build on main (#26231991634)
  • Next Build on main (#26250186652)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc