Ctrl K
ComunidadGuías…

pkg/health/opentelemetry_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package health

import (
	"encoding/json"
	"os"
	"testing"

	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)

func TestOpenTelemetryContract(t *testing.T) {
	raw, err := os.ReadFile("testdata/opentelemetry.json")
	if err != nil {
		t.Fatal(err)
	}
	var cases []struct {
		Name   string
		Object unstructured.Unstructured
		Level  Level
		Text   string
	}
	if err := json.Unmarshal(raw, &cases); err != nil {
		t.Fatal(err)
	}
	for _, tc := range cases {
		t.Run(tc.Name, func(t *testing.T) {
			var v Verdict
			if tc.Object.GetKind() == "Instrumentation" {
				v = OpenTelemetryInstrumentation(&tc.Object)
			} else {
				v = OpenTelemetryCollector(&tc.Object)
			}
			if v.Level != tc.Level || v.Reason != tc.Text {
				t.Fatalf("got %+v, want %s/%s", v, tc.Level, tc.Text)
			}
		})
	}
}