From ec759ce467c16824cfbaa570c38e0f0e98a3f1b5 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sun, 31 Mar 2019 14:17:39 +0300 Subject: [PATCH] Add Envoy success rate test --- pkg/metrics/observer_test.go | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/pkg/metrics/observer_test.go b/pkg/metrics/observer_test.go index 1cd4cb87..2bcc0ab5 100644 --- a/pkg/metrics/observer_test.go +++ b/pkg/metrics/observer_test.go @@ -7,17 +7,35 @@ import ( "time" ) -func TestCanaryObserver_GetDeploymentCounter(t *testing.T) { +func TestCanaryObserver_GetEnvoySuccessRate(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { json := `{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1545905245.458,"100"]}]}}` w.Write([]byte(json)) })) defer ts.Close() - observer := Observer{ - metricsServer: ts.URL, + observer := NewObserver(ts.URL) + + val, err := observer.GetEnvoySuccessRate("podinfo", "default", "envoy_cluster_upstream_rq", "1m") + if err != nil { + t.Fatal(err.Error()) } + if val != 100 { + t.Errorf("Got %v wanted %v", val, 100) + } + +} + +func TestCanaryObserver_GetIstioSuccessRate(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + json := `{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1545905245.458,"100"]}]}}` + w.Write([]byte(json)) + })) + defer ts.Close() + + observer := NewObserver(ts.URL) + val, err := observer.GetIstioSuccessRate("podinfo", "default", "istio_requests_total", "1m") if err != nil { t.Fatal(err.Error()) @@ -29,16 +47,14 @@ func TestCanaryObserver_GetDeploymentCounter(t *testing.T) { } -func TestCanaryObserver_GetDeploymentHistogram(t *testing.T) { +func TestCanaryObserver_GetIstioRequestDuration(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { json := `{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1545905245.596,"0.2"]}]}}` w.Write([]byte(json)) })) defer ts.Close() - observer := Observer{ - metricsServer: ts.URL, - } + observer := NewObserver(ts.URL) val, err := observer.GetIstioRequestDuration("podinfo", "default", "istio_request_duration_seconds_bucket", "1m") if err != nil {