import ( "strings" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/metrics" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = framework.KubeDescribe("MetricsGrabber", func() { f := framework.NewDefaultFramework("metrics-grabber") var c clientset.Interface var grabber *metrics.MetricsGrabber BeforeEach(func() { var err error c = f.ClientSet framework.ExpectNoError(err) grabber, err = metrics.NewMetricsGrabber(c, true, true, true, true) framework.ExpectNoError(err) }) It("should grab all metrics from API server.", func() { By("Connecting to /metrics endpoint") response, err := grabber.GrabFromApiServer() framework.ExpectNoError(err) Expect(response).NotTo(BeEmpty()) })
} func checkMetrics(response metrics.Metrics, assumedMetrics map[string][]string) { invalidLabels := make(map[string]sets.String) unknownLabels := make(map[string]sets.String) validateLabelSet(metrics.CommonMetrics, response, invalidLabels, unknownLabels) validateLabelSet(assumedMetrics, response, invalidLabels, unknownLabels) Expect(unknownLabels).To(BeEmpty()) Expect(invalidLabels).To(BeEmpty()) } var _ = Describe("MetricsGrabber", func() { framework := NewFramework("metrics-grabber") var c *client.Client var grabber *metrics.MetricsGrabber BeforeEach(func() { var err error c = framework.Client expectNoError(err) grabber, err = metrics.NewMetricsGrabber(c, true, true, true, true) expectNoError(err) }) It("should grab all metrics from API server.", func() { By("Connecting to /metrics endpoint") unknownMetrics := sets.NewString() response, err := grabber.GrabFromApiServer(unknownMetrics) expectNoError(err) Expect(unknownMetrics).To(BeEmpty())