...
1 package services
2
3 import (
4 "context"
5 "net/http/httptest"
6 "os"
7 "testing"
8
9 "google.golang.org/api/option"
10
11 bsltypes "edge-infra.dev/pkg/edge/api/bsl/types"
12 "edge-infra.dev/pkg/edge/api/types"
13 "edge-infra.dev/pkg/edge/bsl"
14 "edge-infra.dev/pkg/edge/okta"
15 "edge-infra.dev/pkg/lib/gcp/iam/utils"
16 )
17
18 const (
19 testOrg = "test-org"
20 testUser = "acct:emerald-edge-dev@testing"
21 testEmail = "jd250001@ncr.com"
22 testOrgID = "test-org-id"
23 testUserRole = "EDGE_ORG_ADMIN"
24 testResetURL = "https://www.example.com"
25 testOktaClientID = "abc123"
26 )
27
28 var (
29 iamservice IAMService
30 bslMockServer *httptest.Server
31 oktaMockServer *httptest.Server
32 bslRoleService RoleService
33 oktaConfig = &types.OktaConfig{
34 ClientID: testOktaClientID,
35 }
36 oktaClient *okta.Client
37 )
38
39 func TestMain(m *testing.M) {
40 iamHTTPClient, closer := utils.NewIAMTestServer(projectID, projectID, testServiceAccountEmail, testOauth2ClientID)
41 iamservice = NewIAMService(option.WithHTTPClient(iamHTTPClient))
42 bslMockServer = GetMockBspServer(testOrg, testOrgID, testUser, testUserRole, testEmail, testResetURL)
43 oktaMockServer = okta.MockServer(oktaConfig)
44 config := bsltypes.BSPConfig{
45 Endpoint: bslMockServer.URL,
46 ResetURL: testResetURL,
47 }
48 secret := &bsl.AccessKey{SecretKey: "testSecretKey", SharedKey: "testSharedKey"}
49 bslClient := bsl.NewBSLClient(config, func(_ context.Context, _ string) (*bsl.AccessKey, error) {
50 return secret, nil
51 })
52 oktaClient = okta.New(*oktaConfig)
53 bslRoleService = NewRoleService(config, bslClient)
54 code := m.Run()
55 closer()
56 oktaMockServer.Close()
57 os.Exit(code)
58 }
59
View as plain text