Filter expected metrics as well in CollectAndCompare (#1143)
* Filter expected metrics as well in CollectAndCompare Signed-off-by: Daria Danilenko <daria.danilenko@fluxninja.com> * Add testcase for multiple expected metrics Signed-off-by: Daria Danilenko <daria.danilenko@fluxninja.com> * Change test values for filtering multiple expected metrics Signed-off-by: Daria Danilenko <daria.danilenko@fluxninja.com> --------- Signed-off-by: Daria Danilenko <daria.danilenko@fluxninja.com>
This commit is contained in:
parent
5c7821d84a
commit
eb339714f5
|
@ -238,6 +238,7 @@ func convertReaderToMetricFamily(reader io.Reader) ([]*dto.MetricFamily, error)
|
||||||
func compareMetricFamilies(got, expected []*dto.MetricFamily, metricNames ...string) error {
|
func compareMetricFamilies(got, expected []*dto.MetricFamily, metricNames ...string) error {
|
||||||
if metricNames != nil {
|
if metricNames != nil {
|
||||||
got = filterMetrics(got, metricNames)
|
got = filterMetrics(got, metricNames)
|
||||||
|
expected = filterMetrics(expected, metricNames)
|
||||||
}
|
}
|
||||||
|
|
||||||
return compare(got, expected)
|
return compare(got, expected)
|
||||||
|
|
|
@ -331,6 +331,31 @@ func TestScrapeAndCompare(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestScrapeAndCompareWithMultipleExpected(t *testing.T) {
|
||||||
|
const expected = `
|
||||||
|
# HELP some_total A value that represents a counter.
|
||||||
|
# TYPE some_total counter
|
||||||
|
|
||||||
|
some_total{ label1 = "value1" } 1
|
||||||
|
|
||||||
|
# HELP some_total2 A value that represents a counter.
|
||||||
|
# TYPE some_total2 counter
|
||||||
|
|
||||||
|
some_total2{ label2 = "value2" } 1
|
||||||
|
`
|
||||||
|
|
||||||
|
expectedReader := strings.NewReader(expected)
|
||||||
|
|
||||||
|
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
fmt.Fprintln(w, expected)
|
||||||
|
}))
|
||||||
|
defer ts.Close()
|
||||||
|
|
||||||
|
if err := ScrapeAndCompare(ts.URL, expectedReader, "some_total2"); err != nil {
|
||||||
|
t.Errorf("unexpected scraping result:\n%s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestScrapeAndCompareFetchingFail(t *testing.T) {
|
func TestScrapeAndCompareFetchingFail(t *testing.T) {
|
||||||
err := ScrapeAndCompare("some_url", strings.NewReader("some expectation"), "some_total")
|
err := ScrapeAndCompare("some_url", strings.NewReader("some expectation"), "some_total")
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
Loading…
Reference in New Issue