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

stacklok / toolhive / 23460037829
65%

Build:
DEFAULT BRANCH: main
Ran 23 Mar 2026 09:07PM UTC
Jobs 1
Files 575
Run time 1min
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

23 Mar 2026 09:03PM UTC coverage: 64.36% (-0.2%) from 64.523%
23460037829

push

github

web-flow
Implement multi-upstream sequential authorization chain (#4283)

* Refactor Handler from single upstream to map+order

Move the auth server handler from a single-upstream model to a
map-of-providers with an ordered list. This is the mechanical
refactor that threads multi-upstream support through config
validation, Handler construction, AuthorizeHandler, CallbackHandler,
server construction, and all existing tests.

No new behavior — the chain still completes after the first upstream.

* Add sequential chain logic for multi-upstream authorization

After the handler refactor, wire up the actual chain behavior:
the callback handler now walks the upstream order, redirects to
the next missing provider, and only issues the authorization code
once every upstream has been satisfied. Identity fields from the
first upstream carry through the chain via PendingAuthorization,
and the refresher dispatches by ProviderID.

* Add tests for multi-upstream sequential chain

Unit tests for chain state inspection and multi-upstream callback
flow, plus an integration test that drives two mock OIDC providers
through the full sequential chain end-to-end.

* Downgrade user creation log from Info to Debug

Per silent-success convention, successful operations should not log
at Info level.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Harden Handler constructor and use NamedUpstream slice

Replace map+slice pair with []NamedUpstream, eliminating the
cross-validation logic that kept them in sync. Return error from
NewHandler instead of panicking on invalid inputs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* regenerate docs

* fix lint

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

175 of 221 new or added lines in 8 files covered. (79.19%)

273 existing lines in 11 files now uncovered.

50784 of 78906 relevant lines covered (64.36%)

85.41 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
85.0
-15.0% pkg/authserver/refresher.go
1
74.39
-6.94% pkg/authserver/server/handlers/authorize.go
7
75.81
-17.94% pkg/authserver/server/handlers/handler.go
10
72.43
-14.82% pkg/authserver/server_impl.go
27
74.92
-6.94% pkg/authserver/server/handlers/callback.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
94.67
-1.33% pkg/vmcp/composer/dag_executor.go
4
80.8
-0.84% pkg/transport/proxy/transparent/transparent_proxy.go
4
51.71
-0.38% pkg/workloads/manager.go
6
74.39
-6.94% pkg/authserver/server/handlers/authorize.go
8
85.0
-15.0% pkg/authserver/refresher.go
8
75.81
-17.94% pkg/authserver/server/handlers/handler.go
22
80.89
-11.86% pkg/authserver/config.go
27
72.43
-14.82% pkg/authserver/server_impl.go
29
74.92
-6.94% pkg/authserver/server/handlers/callback.go
62
88.76
-7.51% pkg/authserver/storage/memory.go
101
74.57
-7.76% pkg/authserver/storage/redis.go
Jobs
ID Job ID Ran Files Coverage
1 23460037829.1 23 Mar 2026 09:07PM UTC 575
64.36
GitHub Action Run
Source Files on build 23460037829
  • Tree
  • List 575
  • Changed 19
  • Source Changed 11
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23460037829
  • e7351227 on github
  • Prev Build on main (#23456427446)
  • Next Build on main (#23479389089)
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