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  }