...
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
21 defaultRetry = wait.Backoff{
22 Steps: 30,
23 Duration: 3 * time.Second,
24 Factor: 1.1,
25 Jitter: 0.1,
26 }
27
28
29 log := setup.Log(&config.Config)
30
31
32 dbConnection, _ := setup.DB(&config.Config, log)
33
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