Provisioning: Add metrics around webhooks (#111453)

This commit is contained in:
Stephanie Hingtgen
2025-09-22 16:53:50 -05:00
committed by GitHub
parent 8b1caccc72
commit 63e1d52663
9 changed files with 196 additions and 18 deletions
@@ -5,10 +5,12 @@ import (
"errors"
"testing"
"github.com/prometheus/client_golang/prometheus"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/grafana/grafana-app-sdk/logging"
provisioning "github.com/grafana/grafana/apps/provisioning/pkg/apis/provisioning/v0alpha1"
"github.com/grafana/grafana/apps/provisioning/pkg/repository"
"github.com/grafana/grafana/pkg/registry/apis/provisioning/jobs"
@@ -44,7 +46,7 @@ func TestPullRequestWorker_IsSupported(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
evaluator := NewMockEvaluator(t)
commenter := NewMockCommenter(t)
worker := NewPullRequestWorker(evaluator, commenter)
worker := NewPullRequestWorker(evaluator, commenter, prometheus.NewPedanticRegistry())
result := worker.IsSupported(context.Background(), tt.job)
require.Equal(t, tt.expected, result)
})
@@ -68,7 +70,7 @@ func TestPullRequestWorker_Process_NotPullRequestRepository(t *testing.T) {
},
})
worker := NewPullRequestWorker(evaluator, commenter)
worker := NewPullRequestWorker(evaluator, commenter, prometheus.NewPedanticRegistry())
job := provisioning.Job{
Spec: provisioning.JobSpec{
Action: provisioning.JobActionPullRequest,
@@ -106,7 +108,7 @@ func TestPullRequestWorker_Process_NotReaderRepository(t *testing.T) {
},
})
worker := NewPullRequestWorker(evaluator, commenter)
worker := NewPullRequestWorker(evaluator, commenter, prometheus.NewPedanticRegistry())
job := provisioning.Job{
Spec: provisioning.JobSpec{
Action: provisioning.JobActionPullRequest,
@@ -392,7 +394,7 @@ func TestPullRequestWorker_Process(t *testing.T) {
progress := jobs.NewMockJobProgressRecorder(t)
tt.setupMocks(evaluator, commenter, &repo, progress)
worker := NewPullRequestWorker(evaluator, commenter)
worker := NewPullRequestWorker(evaluator, commenter, prometheus.NewPedanticRegistry())
job := provisioning.Job{
Spec: provisioning.JobSpec{
Action: provisioning.JobActionPullRequest,
@@ -400,7 +402,7 @@ func TestPullRequestWorker_Process(t *testing.T) {
},
}
err := worker.Process(context.Background(), repo, job, progress)
err := worker.Process(logging.Context(context.Background(), logging.DefaultLogger), repo, job, progress)
if tt.expectedError != "" {
require.EqualError(t, err, tt.expectedError)
} else {