Documentation
¶
Overview ¶
Package pbflagstest provides test helpers for pbflags consumers. It implements the FlagEvaluatorServiceHandler interface backed by an in-memory override map, removing the need for consumers to hand-roll Connect-RPC stubs or construct raw JSON.
Index ¶
- func Bool(v bool) *pbflagsv1.FlagValue
- func BoolList(v ...bool) *pbflagsv1.FlagValue
- func Double(v float64) *pbflagsv1.FlagValue
- func DoubleList(v ...float64) *pbflagsv1.FlagValue
- func Int64(v int64) *pbflagsv1.FlagValue
- func Int64List(v ...int64) *pbflagsv1.FlagValue
- func String(v string) *pbflagsv1.FlagValue
- func StringList(v ...string) *pbflagsv1.FlagValue
- type InMemoryEvaluator
- func (e *InMemoryEvaluator) BulkEvaluate(_ context.Context, req *connect.Request[pbflagsv1.BulkEvaluateRequest]) (*connect.Response[pbflagsv1.BulkEvaluateResponse], error)
- func (e *InMemoryEvaluator) Evaluate(_ context.Context, req *connect.Request[pbflagsv1.EvaluateRequest]) (*connect.Response[pbflagsv1.EvaluateResponse], error)
- func (e *InMemoryEvaluator) Health(_ context.Context, _ *connect.Request[pbflagsv1.HealthRequest]) (*connect.Response[pbflagsv1.HealthResponse], error)
- func (e *InMemoryEvaluator) Reset()
- func (e *InMemoryEvaluator) Set(flagID string, value *pbflagsv1.FlagValue)
- func (e *InMemoryEvaluator) SetForEntity(flagID, entityID string, value *pbflagsv1.FlagValue)
- func (e *InMemoryEvaluator) SetStatus(status pbflagsv1.EvaluatorStatus)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BoolList ¶
BoolList wraps a []bool in a *pbflagsv1.FlagValue.
func Double ¶
Double wraps a float64 in a *pbflagsv1.FlagValue.
func DoubleList ¶
DoubleList wraps a []float64 in a *pbflagsv1.FlagValue.
func Int64 ¶
Int64 wraps an int64 in a *pbflagsv1.FlagValue.
func Int64List ¶
Int64List wraps a []int64 in a *pbflagsv1.FlagValue.
func String ¶
String wraps a string in a *pbflagsv1.FlagValue.
func StringList ¶
StringList wraps a []string in a *pbflagsv1.FlagValue.
Types ¶
type InMemoryEvaluator ¶
type InMemoryEvaluator struct {
pbflagsv1connect.UnimplementedFlagEvaluatorServiceHandler
// contains filtered or unexported fields
}
InMemoryEvaluator implements pbflagsv1connect.FlagEvaluatorServiceHandler backed by an in-memory override map. Flags without overrides return an empty response, causing generated clients to fall back to compiled defaults.
It is safe for concurrent use.
func NewInMemoryEvaluator ¶
func NewInMemoryEvaluator() *InMemoryEvaluator
NewInMemoryEvaluator returns a new InMemoryEvaluator with no overrides and Health returning EVALUATOR_STATUS_SERVING.
func (*InMemoryEvaluator) BulkEvaluate ¶
func (e *InMemoryEvaluator) BulkEvaluate(_ context.Context, req *connect.Request[pbflagsv1.BulkEvaluateRequest]) (*connect.Response[pbflagsv1.BulkEvaluateResponse], error)
BulkEvaluate implements FlagEvaluatorServiceHandler.
func (*InMemoryEvaluator) Evaluate ¶
func (e *InMemoryEvaluator) Evaluate(_ context.Context, req *connect.Request[pbflagsv1.EvaluateRequest]) (*connect.Response[pbflagsv1.EvaluateResponse], error)
Evaluate implements FlagEvaluatorServiceHandler.
func (*InMemoryEvaluator) Health ¶
func (e *InMemoryEvaluator) Health(_ context.Context, _ *connect.Request[pbflagsv1.HealthRequest]) (*connect.Response[pbflagsv1.HealthResponse], error)
Health implements FlagEvaluatorServiceHandler.
func (*InMemoryEvaluator) Reset ¶
func (e *InMemoryEvaluator) Reset()
Reset clears all overrides and restores status to SERVING.
func (*InMemoryEvaluator) Set ¶
func (e *InMemoryEvaluator) Set(flagID string, value *pbflagsv1.FlagValue)
Set registers a global override for a flag.
func (*InMemoryEvaluator) SetForEntity ¶
func (e *InMemoryEvaluator) SetForEntity(flagID, entityID string, value *pbflagsv1.FlagValue)
SetForEntity registers an entity-scoped override.
func (*InMemoryEvaluator) SetStatus ¶
func (e *InMemoryEvaluator) SetStatus(status pbflagsv1.EvaluatorStatus)
SetStatus overrides the status returned by the Health RPC.