| TestNew | Basic percentage-based canary routing with 50% split | Approximately 50% of 100 requests are marked as canary (40-60% range) |
| TestWithOptions_Header (with header) | Header override with X-Canary: true | Request is marked as canary when header is present |
| TestWithOptions_Header (without header) | No header with 0% percentage | Request is not marked as canary |
| TestWithOptions_Cookie | Cookie-based canary selection | Request is marked as canary when cookie matches |
| TestWithOptions_Selector | Custom selector based on User-Agent | Request is marked as canary when User-Agent equals “Canary” |
| TestRoute | Route function with stable traffic | Returns “stable” response for non-canary requests |
| TestRoute_Canary | Route function with canary header | Returns “canary” response when X-Canary header is set |
| TestMiddleware (stable) | Middleware selection for stable traffic | Applies stable middleware, sets X-Version: stable header |
| TestMiddleware (canary) | Middleware selection for canary traffic | Applies canary middleware, sets X-Version: canary header |
| TestReleaseManager | ReleaseManager set/get operations | Can set and retrieve release configurations by name |
| TestReleaseManager_ShouldUseCanary | ReleaseManager percentage distribution | Approximately 50% canary selection over 100 calls (40-60% range) |
| TestHeaderSelector (matching) | HeaderSelector with matching value | Selector returns true for matching header value |
| TestHeaderSelector (non-matching) | HeaderSelector with non-matching value | Selector returns false for non-matching header value |
| TestCookieSelector | CookieSelector with matching cookie | Selector returns true for matching cookie name and value |