59 lines
2.5 KiB
Go
59 lines
2.5 KiB
Go
package fakes
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana/pkg/apimachinery/identity"
|
|
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
|
)
|
|
|
|
type FakeSilenceService struct {
|
|
FilterByAccessFunc func(ctx context.Context, user identity.Requester, silences ...*models.Silence) ([]*models.Silence, error)
|
|
AuthorizeReadSilenceFunc func(ctx context.Context, user identity.Requester, silence *models.Silence) error
|
|
AuthorizeCreateSilenceFunc func(ctx context.Context, user identity.Requester, silence *models.Silence) error
|
|
AuthorizeUpdateSilenceFunc func(ctx context.Context, user identity.Requester, silence *models.Silence) error
|
|
SilenceAccessFunc func(ctx context.Context, user identity.Requester, silences []*models.Silence) (map[*models.Silence]models.SilencePermissionSet, error)
|
|
|
|
Calls []Call
|
|
}
|
|
|
|
func (s *FakeSilenceService) FilterByAccess(ctx context.Context, user identity.Requester, silences ...*models.Silence) ([]*models.Silence, error) {
|
|
s.Calls = append(s.Calls, Call{"FilterByAccess", []interface{}{ctx, user, silences}})
|
|
if s.FilterByAccessFunc != nil {
|
|
return s.FilterByAccessFunc(ctx, user, silences...)
|
|
}
|
|
return nil, nil
|
|
}
|
|
|
|
func (s *FakeSilenceService) AuthorizeReadSilence(ctx context.Context, user identity.Requester, silence *models.Silence) error {
|
|
s.Calls = append(s.Calls, Call{"AuthorizeReadSilence", []interface{}{ctx, user, silence}})
|
|
if s.AuthorizeReadSilenceFunc != nil {
|
|
return s.AuthorizeReadSilenceFunc(ctx, user, silence)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s *FakeSilenceService) AuthorizeCreateSilence(ctx context.Context, user identity.Requester, silence *models.Silence) error {
|
|
s.Calls = append(s.Calls, Call{"AuthorizeCreateSilence", []interface{}{ctx, user, silence}})
|
|
if s.AuthorizeCreateSilenceFunc != nil {
|
|
return s.AuthorizeCreateSilenceFunc(ctx, user, silence)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s *FakeSilenceService) AuthorizeUpdateSilence(ctx context.Context, user identity.Requester, silence *models.Silence) error {
|
|
s.Calls = append(s.Calls, Call{"AuthorizeUpdateSilence", []interface{}{ctx, user, silence}})
|
|
if s.AuthorizeUpdateSilenceFunc != nil {
|
|
return s.AuthorizeUpdateSilenceFunc(ctx, user, silence)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s *FakeSilenceService) SilenceAccess(ctx context.Context, user identity.Requester, silences []*models.Silence) (map[*models.Silence]models.SilencePermissionSet, error) {
|
|
s.Calls = append(s.Calls, Call{"SilenceAccess", []interface{}{ctx, user, silences}})
|
|
if s.SilenceAccessFunc != nil {
|
|
return s.SilenceAccessFunc(ctx, user, silences)
|
|
}
|
|
return nil, nil
|
|
}
|