60 lines
2.0 KiB
Go
60 lines
2.0 KiB
Go
package fakes
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana/pkg/apimachinery/identity"
|
|
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
|
)
|
|
|
|
type ReceiverServiceMethodCall struct {
|
|
Method string
|
|
Args []interface{}
|
|
}
|
|
|
|
type FakeReceiverService struct {
|
|
MethodCalls []ReceiverServiceMethodCall
|
|
GetReceiverFn func(ctx context.Context, q models.GetReceiverQuery, u identity.Requester) (*models.Receiver, error)
|
|
ListReceiversFn func(ctx context.Context, q models.ListReceiversQuery, u identity.Requester) ([]*models.Receiver, error)
|
|
}
|
|
|
|
func NewFakeReceiverService() *FakeReceiverService {
|
|
return &FakeReceiverService{
|
|
GetReceiverFn: defaultReceiverFn,
|
|
ListReceiversFn: defaultReceiversFn,
|
|
}
|
|
}
|
|
|
|
func (f *FakeReceiverService) GetReceiver(ctx context.Context, q models.GetReceiverQuery, u identity.Requester) (*models.Receiver, error) {
|
|
f.MethodCalls = append(f.MethodCalls, ReceiverServiceMethodCall{Method: "GetReceiver", Args: []interface{}{ctx, q}})
|
|
return f.GetReceiverFn(ctx, q, u)
|
|
}
|
|
|
|
func (f *FakeReceiverService) ListReceivers(ctx context.Context, q models.ListReceiversQuery, u identity.Requester) ([]*models.Receiver, error) {
|
|
f.MethodCalls = append(f.MethodCalls, ReceiverServiceMethodCall{Method: "ListReceivers", Args: []interface{}{ctx, q}})
|
|
return f.ListReceiversFn(ctx, q, u)
|
|
}
|
|
|
|
func (f *FakeReceiverService) PopMethodCall() ReceiverServiceMethodCall {
|
|
if len(f.MethodCalls) == 0 {
|
|
return ReceiverServiceMethodCall{}
|
|
}
|
|
call := f.MethodCalls[len(f.MethodCalls)-1]
|
|
f.MethodCalls = f.MethodCalls[:len(f.MethodCalls)-1]
|
|
return call
|
|
}
|
|
|
|
func (f *FakeReceiverService) Reset() {
|
|
f.MethodCalls = nil
|
|
f.GetReceiverFn = defaultReceiverFn
|
|
f.ListReceiversFn = defaultReceiversFn
|
|
}
|
|
|
|
func defaultReceiverFn(ctx context.Context, q models.GetReceiverQuery, u identity.Requester) (*models.Receiver, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func defaultReceiversFn(ctx context.Context, q models.ListReceiversQuery, u identity.Requester) ([]*models.Receiver, error) {
|
|
return nil, nil
|
|
}
|