...

Source file src/edge-infra.dev/pkg/sds/display/k8s/controllers/displayctl/integration/integration_test.go

Documentation: edge-infra.dev/pkg/sds/display/k8s/controllers/displayctl/integration

     1  package integration
     2  
     3  import (
     4  	"context"
     5  	"os"
     6  	"testing"
     7  	"time"
     8  
     9  	corev1 "k8s.io/api/core/v1"
    10  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    11  	ctrl "sigs.k8s.io/controller-runtime"
    12  
    13  	"edge-infra.dev/pkg/lib/fog"
    14  	"edge-infra.dev/pkg/sds/display/constants"
    15  	examplemanager "edge-infra.dev/pkg/sds/display/displaymanager/manager/example"
    16  	"edge-infra.dev/pkg/sds/display/k8s/controllers/displayctl"
    17  	"edge-infra.dev/test/f2"
    18  	"edge-infra.dev/test/f2/x/ktest"
    19  )
    20  
    21  var f f2.Framework
    22  
    23  func TestMain(m *testing.M) {
    24  	ctrl.SetLogger(fog.New())
    25  
    26  	f = f2.New(
    27  		context.Background(),
    28  		f2.WithExtensions(
    29  			ktest.New(
    30  				ktest.WithCtrlManager(displayctl.CreateManager),
    31  				ktest.SkipNamespaceCreation(),
    32  			),
    33  		)).
    34  		Setup(func(ctx f2.Context) (f2.Context, error) {
    35  			k, err := ktest.FromContext(ctx)
    36  			if err != nil {
    37  				return ctx, err
    38  			}
    39  
    40  			// Override timeouts if we aren't using a live cluster
    41  			if !*k.Env.UseExistingCluster {
    42  				k.Timeout = 5 * time.Second
    43  				k.Tick = 10 * time.Millisecond
    44  			}
    45  
    46  			displayManager := examplemanager.NewExampleDisplayManager(displayctlHostname, false)
    47  
    48  			nodeDisplayConfigController := displayctl.NewNodeDisplayConfigController(displayManager, k.Manager)
    49  			if err := nodeDisplayConfigController.SetupWithManager(k.Manager); err != nil {
    50  				return ctx, err
    51  			}
    52  
    53  			// create namespace to be used across tests
    54  			namespace := &corev1.Namespace{
    55  				ObjectMeta: metav1.ObjectMeta{Name: constants.Namespace},
    56  			}
    57  
    58  			return ctx, k.Client.Create(ctx, namespace)
    59  		})
    60  
    61  	os.Exit(f.Run(m))
    62  }
    63  

View as plain text