mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 01:38:10 +00:00
30 lines
918 B
Go
30 lines
918 B
Go
package provider
|
|
|
|
import (
|
|
"testing"
|
|
|
|
conv "github.com/directxman12/k8s-prometheus-adapter/pkg/custom-provider/metric-converter"
|
|
"k8s.io/apimachinery/pkg/labels"
|
|
"k8s.io/apimachinery/pkg/selection"
|
|
)
|
|
|
|
var queryBuilder = NewExternalMetricQueryBuilder()
|
|
|
|
func TestBuildPrometheusQuery(t *testing.T) {
|
|
fakeSelector := labels.NewSelector()
|
|
metricName := "queue_name"
|
|
requirement, _ := labels.NewRequirement(metricName, selection.Equals, []string{"processing"})
|
|
fakeSelector = fakeSelector.Add(*requirement)
|
|
meta := conv.QueryMetadata{
|
|
Aggregation: "rate",
|
|
MetricName: metricName,
|
|
WindowInSeconds: 120,
|
|
}
|
|
|
|
result := queryBuilder.BuildPrometheusQuery("default", "queue_length", fakeSelector, meta)
|
|
|
|
expectedResult := "rate(queue_length{queue_name=\"processing\"}[120s])"
|
|
if result != expectedResult {
|
|
t.Errorf("Incorrect query generated. Expected: %s | Actual %s", result, expectedResult)
|
|
}
|
|
}
|