| package subscriptiontestutils | |
| import "github.com/openmeterio/openmeter/openmeter/subscription" | |
| type TestPatch struct { | |
| PatchValue any | |
| PatchOperation subscription.PatchOperation | |
| PatchPath subscription.SpecPath | |
| ApplyToFn func(s *subscription.SubscriptionSpec, c subscription.ApplyContext) error | |
| ValdiateFn func() error | |
| } | |
| var ( | |
| _ subscription.Patch = &TestPatch{} | |
| _ subscription.ValuePatch[any] = &TestPatch{} | |
| ) | |
| func (p *TestPatch) ApplyTo(s *subscription.SubscriptionSpec, c subscription.ApplyContext) error { | |
| if p.ApplyToFn != nil { | |
| return p.ApplyToFn(s, c) | |
| } | |
| return nil | |
| } | |
| func (p *TestPatch) Op() subscription.PatchOperation { | |
| return p.PatchOperation | |
| } | |
| func (p *TestPatch) Path() subscription.SpecPath { | |
| return p.PatchPath | |
| } | |
| func (p *TestPatch) Validate() error { | |
| if p.ValdiateFn != nil { | |
| return p.ValdiateFn() | |
| } | |
| return nil | |
| } | |
| func (p *TestPatch) MarshalJSON() ([]byte, error) { | |
| panic("not implemented") | |
| } | |
| func (p *TestPatch) UnmarshalJSON(data []byte) error { | |
| panic("not implemented") | |
| } | |
| func (p *TestPatch) Value() any { | |
| return p.PatchValue | |
| } | |
| func (p *TestPatch) ValueAsAny() any { | |
| return p.PatchValue | |
| } | |