Loading
Add httptest slow-server timeout test to featureflag client
Adds TestBooleanValueDetails_TimeoutReturnsDefault and TestStringValueDetails_TimeoutReturnsDefault to validate that:
- The HTTP timeout fires within the configured window (no hanging requests)
- The default value is returned when the Flipt server is slow/unresponsive
- The error is propagated to the caller for observability
Uses httptest.NewServer with a blocking handler. Key insight: the Flipt provider does not implement StateHandler.Init, so NewWithConfig makes no HTTP calls — the slow server purely exercises evaluation path timing.
Closes one acceptance criterion of team-tasks #4382: "Behaviour is validated under simulated slow/unresponsive feature flag service conditions."
Test plan
-
go test ./featureflag/... -v -run TestBooleanValueDetails_TimeoutReturnsDefaultpasses in < 1s -
go test ./featureflag/... -v -run TestStringValueDetails_TimeoutReturnsDefaultpasses in < 1s
Stack (merge in order)
| # | MR | Status |
|---|---|---|
| 1 | !485 (merged) — Add httptest slow-server timeout test ← you are here | merge into master first |
| 2 | !486 (merged) — Add slog.Logger observability | retarget to master after !485 (merged) merges |
| 3 | !487 (merged) — Document error propagation | retarget to master after !486 (merged) merges |
Edited by Elliot Forbes