MCPcopy Index your code
hub / github.com/coder/coder / TestEnterpriseCreate

Function TestEnterpriseCreate

enterprise/cli/create_test.go:39–256  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

37)
38
39func TestEnterpriseCreate(t *testing.T) {
40 t.Parallel()
41
42 type setupData struct {
43 firstResponse codersdk.CreateFirstUserResponse
44 second codersdk.Organization
45 owner *codersdk.Client
46 member *codersdk.Client
47 }
48
49 type setupArgs struct {
50 firstTemplates []string
51 secondTemplates []string
52 }
53
54 // setupMultipleOrganizations creates an extra organization, assigns a member
55 // both organizations, and optionally creates templates in each organization.
56 setupMultipleOrganizations := func(t *testing.T, args setupArgs) setupData {
57 ownerClient, first := coderdenttest.New(t, &coderdenttest.Options{
58 Options: &coderdtest.Options{
59 // This only affects the first org.
60 IncludeProvisionerDaemon: true,
61 },
62 LicenseOptions: &coderdenttest.LicenseOptions{
63 Features: license.Features{
64 codersdk.FeatureExternalProvisionerDaemons: 1,
65 codersdk.FeatureMultipleOrganizations: 1,
66 },
67 },
68 })
69
70 second := coderdenttest.CreateOrganization(t, ownerClient, coderdenttest.CreateOrganizationOptions{
71 IncludeProvisionerDaemon: true,
72 })
73 member, _ := coderdtest.CreateAnotherUser(t, ownerClient, first.OrganizationID, rbac.ScopedRoleOrgMember(second.ID))
74
75 var wg sync.WaitGroup
76
77 createTemplate := func(tplName string, orgID uuid.UUID) {
78 version := coderdtest.CreateTemplateVersion(t, ownerClient, orgID, nil)
79 wg.Add(1)
80 go func() {
81 coderdtest.AwaitTemplateVersionJobCompleted(t, ownerClient, version.ID)
82 wg.Done()
83 }()
84
85 coderdtest.CreateTemplate(t, ownerClient, orgID, version.ID, func(request *codersdk.CreateTemplateRequest) {
86 request.Name = tplName
87 })
88 }
89
90 for _, tplName := range args.firstTemplates {
91 createTemplate(tplName, first.OrganizationID)
92 }
93
94 for _, tplName := range args.secondTemplates {
95 createTemplate(tplName, second.ID)
96 }

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateOrganizationFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleOrgMemberFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
NewFunction · 0.92
RoleOwnerFunction · 0.92
AddMethod · 0.65

Tested by

no test coverage detected