Ctrl K
ComunidadGuías…

pkg/health/flagger_test.go

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

Archivo original ↗Preguntar a KiBot
package health

import (
	"encoding/json"
	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
	"os"
	"testing"
)

func TestFlaggerContract(t *testing.T) {
	raw, err := os.ReadFile("testdata/flagger.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) {
			v := FlaggerCanary(&tc.Object)
			if v.Level != tc.Level || v.Reason != tc.Text {
				t.Fatalf("got %+v, want %s/%s", v, tc.Level, tc.Text)
			}
		})
	}
}