prometheus-adapter/pkg/custom-provider/external_metric_query_builder_test.go
Tony Compton 3727f99343 Moving the query building logic, adding first unit test.
Moving it into its own type to better organize and separate concerns. Also makes unit testing easier.
2018-06-27 21:37:21 -04:00

23 lines
691 B
Go

package provider
import (
"testing"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/selection"
)
var queryBuilder = NewExternalMetricQueryBuilder()
func TestBuildPrometheusQuery(t *testing.T) {
fakeSelector := labels.NewSelector()
requirement, _ := labels.NewRequirement("queue_name", selection.Equals, []string{"processing"})
fakeSelector = fakeSelector.Add(*requirement)
result := queryBuilder.BuildPrometheusQuery("default", "queue_length", fakeSelector)
expectedResult := "queue_length{namespace=\"default\", queue_name=\"processing\"}"
if result != expectedResult {
t.Errorf("Incorrect query generated. Expected: %s | Actual %s", result, expectedResult)
}
}