github.com/kiali/kiali@v1.84.0/graph/telemetry/istio/appender/util_test.go (about) 1 package appender 2 3 import ( 4 "github.com/prometheus/common/model" 5 "github.com/stretchr/testify/mock" 6 7 "github.com/kiali/kiali/config" 8 "github.com/kiali/kiali/prometheus" 9 "github.com/kiali/kiali/prometheus/prometheustest" 10 ) 11 12 // package-private test util functions (used by multiple test files) 13 14 // Setup mocks 15 16 func setupMocked() (*prometheus.Client, *prometheustest.PromAPIMock, error) { 17 return setupMockedWithQueryScope("") 18 } 19 20 func setupMockedWithQueryScope(meshId string) (*prometheus.Client, *prometheustest.PromAPIMock, error) { 21 testConfig := config.NewConfig() 22 if meshId != "" { 23 testConfig.ExternalServices.Prometheus.QueryScope = map[string]string{"mesh_id": meshId} 24 } 25 config.Set(testConfig) 26 api := new(prometheustest.PromAPIMock) 27 client, err := prometheus.NewClient() 28 if err != nil { 29 return nil, nil, err 30 } 31 client.Inject(api) 32 return client, api, nil 33 } 34 35 func mockQuery(api *prometheustest.PromAPIMock, query string, ret *model.Vector) { 36 api.On( 37 "Query", 38 mock.Anything, 39 query, 40 mock.AnythingOfType("time.Time"), 41 ).Return(*ret, nil) 42 api.On( 43 "Query", 44 mock.Anything, 45 query, 46 mock.AnythingOfType("time.Time"), 47 ).Return(*ret, nil) 48 }