package integration import ( "context" "os" "testing" "time" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ctrl "sigs.k8s.io/controller-runtime" "edge-infra.dev/pkg/lib/fog" "edge-infra.dev/pkg/sds/display/constants" examplemanager "edge-infra.dev/pkg/sds/display/displaymanager/manager/example" "edge-infra.dev/pkg/sds/display/k8s/controllers/displayctl" "edge-infra.dev/test/f2" "edge-infra.dev/test/f2/x/ktest" ) var f f2.Framework func TestMain(m *testing.M) { ctrl.SetLogger(fog.New()) f = f2.New( context.Background(), f2.WithExtensions( ktest.New( ktest.WithCtrlManager(displayctl.CreateManager), ktest.SkipNamespaceCreation(), ), )). Setup(func(ctx f2.Context) (f2.Context, error) { k, err := ktest.FromContext(ctx) if err != nil { return ctx, err } // Override timeouts if we aren't using a live cluster if !*k.Env.UseExistingCluster { k.Timeout = 5 * time.Second k.Tick = 10 * time.Millisecond } displayManager := examplemanager.NewExampleDisplayManager(displayctlHostname, false) nodeDisplayConfigController := displayctl.NewNodeDisplayConfigController(displayManager, k.Manager) if err := nodeDisplayConfigController.SetupWithManager(k.Manager); err != nil { return ctx, err } // create namespace to be used across tests namespace := &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: constants.Namespace}, } return ctx, k.Client.Create(ctx, namespace) }) os.Exit(f.Run(m)) }