// SPDX-License-Identifier: MIT package checker import ( "context" "encoding/json" "errors" sdk "git.happydns.org/checker-sdk-go/checker" ) // stubObs is a minimal ObservationGetter for rule tests. It JSON round-trips // the stored value into the destination so it exercises the same code path // rules see in production. type stubObs struct { value any err error } func (s stubObs) Get(_ context.Context, _ sdk.ObservationKey, dest any) error { if s.err != nil { return s.err } if s.value == nil { return errors.New("no value") } raw, err := json.Marshal(s.value) if err != nil { return err } return json.Unmarshal(raw, dest) } func (s stubObs) GetRelated(_ context.Context, _ sdk.ObservationKey) ([]sdk.RelatedObservation, error) { return nil, nil }