prometheus-adapter/pkg/custom-provider/external_metric_query_builder_test.go
Tony Compton 277734dcdb Fixing some silly errors.
Always verify your builds before you push, kids. 👎
2018-06-29 12:11:30 -04:00

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)
}
}