...

Source file src/edge-infra.dev/pkg/edge/api/graph/integration/integration_test.go

Documentation: edge-infra.dev/pkg/edge/api/graph/integration

     1  package integration_test
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"time"
     7  
     8  	"edge-infra.dev/pkg/edge/api/graph/model"
     9  	"edge-infra.dev/pkg/edge/api/graph/setup"
    10  	testApi "edge-infra.dev/pkg/edge/api/graph/test"
    11  	"edge-infra.dev/pkg/edge/api/middleware"
    12  	"edge-infra.dev/pkg/edge/api/types"
    13  	"edge-infra.dev/test/framework"
    14  
    15  	"github.com/99designs/gqlgen/client"
    16  	"k8s.io/apimachinery/pkg/util/wait"
    17  )
    18  
    19  func setupIntegrationTest(config *types.TestConfig) (*Suite, error) {
    20  	// default retry for integration test
    21  	defaultRetry = wait.Backoff{
    22  		Steps:    30,
    23  		Duration: 3 * time.Second,
    24  		Factor:   1.1, // change here for backoff
    25  		Jitter:   0.1,
    26  	}
    27  
    28  	// Logger Setup
    29  	log := setup.Log(&config.Config)
    30  
    31  	//setup db connection
    32  	dbConnection, _ := setup.DB(&config.Config, log)
    33  	//defer dbConnection.Close()
    34  
    35  	bqClient, _ := setup.BQClient(&config.Config)
    36  
    37  	resolver := setup.Resolver(&config.Config, dbConnection, bqClient)
    38  
    39  	gqlConfig := setup.GqlConfig(resolver)
    40  	srv := setup.GqlServer(gqlConfig, &config.Config, nil)
    41  
    42  	go setup.Server(log, &config.Config, srv, dbConnection, resolver)
    43  
    44  	jwtSecret = config.Config.App.AppSecret
    45  	testClusterVersion = config.TestK8Version
    46  	token, err := middleware.CreateToken(testUser, testEmail, testOrg, jwtSecret, []string{string(model.RoleEdgeOrgAdmin)}, "bslToken", "bsl", "refreshToken")
    47  	if err != nil {
    48  		return nil, err
    49  	}
    50  	ResolverClient = NewGraphQlClient(config.TestBffEndpoint, client.AddHeader("Authorization", "Bearer "+token))
    51  	testTime := fmt.Sprintf("%d", time.Now().UnixNano())
    52  	f := framework.New("edge-backend-integration")
    53  	return &Suite{
    54  		Framework:    f,
    55  		client:       runtimeClient,
    56  		ctx:          context.Background(),
    57  		projectID:    projectID,
    58  		testTime:     testTime,
    59  		testBannerEU: &testApi.TestBannerEU,
    60  		Resolver:     resolver,
    61  		DB:           dbConnection,
    62  		Config:       config,
    63  	}, nil
    64  }
    65  

View as plain text