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_TimeoutReturnsDefault passes in < 1s
  • go test ./featureflag/... -v -run TestStringValueDetails_TimeoutReturnsDefault passes 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

Merge request reports

Loading
Loading