Aggregator: Add mutation and validation handlers (#92036)

This commit is contained in:
Todd Treece
2024-08-21 19:12:53 +03:00
committed by GitHub
parent 6891eb1d35
commit 2d43fdb29b
17 changed files with 1243 additions and 27 deletions
@@ -0,0 +1,38 @@
package fakes
import (
"context"
"errors"
"github.com/grafana/grafana-plugin-sdk-go/backend"
)
type FakePluginClient struct {
backend.QueryDataHandlerFunc
backend.MutateAdmissionFunc
backend.ValidateAdmissionFunc
}
func (pc *FakePluginClient) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
if pc.QueryDataHandlerFunc != nil {
return pc.QueryDataHandlerFunc(ctx, req)
}
return nil, errors.New("QueryDataHandlerFunc not implemented")
}
func (pc *FakePluginClient) ValidateAdmission(ctx context.Context, req *backend.AdmissionRequest) (*backend.ValidationResponse, error) {
if pc.ValidateAdmissionFunc != nil {
return pc.ValidateAdmissionFunc(ctx, req)
}
return nil, errors.New("ValidateAdmissionFunc not implemented")
}
func (pc *FakePluginClient) MutateAdmission(ctx context.Context, req *backend.AdmissionRequest) (*backend.MutationResponse, error) {
if pc.MutateAdmissionFunc != nil {
return pc.MutateAdmissionFunc(ctx, req)
}
return nil, errors.New("MutateAdmissionFunc not implemented")
}
@@ -0,0 +1,13 @@
package fakes
import "net/http"
func NewFakeHTTPHandler(status int, res []byte) http.HandlerFunc {
return func(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(status)
_, err := w.Write(res)
if err != nil {
panic(err)
}
}
}
@@ -0,0 +1,16 @@
package fakes
import (
"context"
"github.com/grafana/grafana-plugin-sdk-go/backend"
)
type FakePluginContextProvider struct {
PluginContext backend.PluginContext
Err error
}
func (f FakePluginContextProvider) GetPluginContext(ctx context.Context, pluginID, dsUID string) (backend.PluginContext, error) {
return f.PluginContext, f.Err
}