Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4160118

Browse files
committed
create org member in coderdtest helper
1 parent25dc87f commit4160118

File tree

1 file changed

+132
-0
lines changed

1 file changed

+132
-0
lines changed

‎enterprise/cli/create_test.go

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
package cli_test
2+
3+
import (
4+
"context"
5+
"sync"
6+
"testing"
7+
8+
"github.com/google/uuid"
9+
"github.com/stretchr/testify/assert"
10+
11+
"github.com/coder/coder/v2/cli/clitest"
12+
"github.com/coder/coder/v2/coderd/coderdtest"
13+
"github.com/coder/coder/v2/coderd/rbac"
14+
"github.com/coder/coder/v2/codersdk"
15+
"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
16+
"github.com/coder/coder/v2/enterprise/coderd/license"
17+
"github.com/coder/coder/v2/pty/ptytest"
18+
)
19+
20+
funcTestEnterpriseCreate(t*testing.T) {
21+
t.Parallel()
22+
23+
typesetupDatastruct {
24+
firstResponse codersdk.CreateFirstUserResponse
25+
second codersdk.Organization
26+
owner*codersdk.Client
27+
member*codersdk.Client
28+
}
29+
30+
typesetupArgsstruct {
31+
firstTemplates []string
32+
secondTemplates []string
33+
}
34+
35+
setupMultipleOrganizations:=func(t*testing.T,argssetupArgs)setupData {
36+
ownerClient,first:=coderdenttest.New(t,&coderdenttest.Options{
37+
Options:&coderdtest.Options{
38+
// This only affects the first org.
39+
IncludeProvisionerDaemon:false,
40+
},
41+
LicenseOptions:&coderdenttest.LicenseOptions{
42+
Features: license.Features{
43+
codersdk.FeatureExternalProvisionerDaemons:1,
44+
},
45+
},
46+
})
47+
48+
second:=coderdtest.CreateOrganization(t,ownerClient, coderdtest.CreateOrganizationOptions{
49+
IncludeProvisionerDaemon:true,
50+
})
51+
member,_:=coderdtest.CreateAnotherUser(t,ownerClient,first.OrganizationID,rbac.ScopedRoleOrgMember(second.ID))
52+
53+
varwg sync.WaitGroup
54+
55+
createTemplate:=func(tplNamestring,orgID uuid.UUID) {
56+
version:=coderdtest.CreateTemplateVersion(t,ownerClient,orgID,nil)
57+
wg.Add(1)
58+
gofunc() {
59+
coderdtest.AwaitTemplateVersionJobCompleted(t,ownerClient,version.ID)
60+
wg.Done()
61+
}()
62+
63+
coderdtest.CreateTemplate(t,ownerClient,orgID,version.ID,func(request*codersdk.CreateTemplateRequest) {
64+
request.Name=tplName
65+
})
66+
}
67+
68+
for_,tplName:=rangeargs.firstTemplates {
69+
createTemplate(tplName,first.OrganizationID)
70+
}
71+
72+
for_,tplName:=rangeargs.secondTemplates {
73+
createTemplate(tplName,second.ID)
74+
}
75+
76+
wg.Wait()
77+
78+
returnsetupData{
79+
firstResponse:first,
80+
owner:ownerClient,
81+
second:second,
82+
member:member,
83+
}
84+
}
85+
86+
t.Run("CreateMultipleOrganization",func(t*testing.T) {
87+
// Creates a workspace in another organization
88+
t.Parallel()
89+
90+
consttemplateName="secondtemplate"
91+
setup:=setupMultipleOrganizations(t,setupArgs{
92+
secondTemplates: []string{templateName},
93+
})
94+
member:=setup.member
95+
96+
args:= []string{
97+
"create",
98+
"my-workspace",
99+
"--template",templateName,
100+
}
101+
inv,root:=clitest.New(t,args...)
102+
clitest.SetupConfig(t,member,root)
103+
doneChan:=make(chanstruct{})
104+
pty:=ptytest.New(t).Attach(inv)
105+
gofunc() {
106+
deferclose(doneChan)
107+
err:=inv.Run()
108+
assert.NoError(t,err)
109+
}()
110+
matches:= []struct {
111+
matchstring
112+
writestring
113+
}{
114+
{match:"compute.main"},
115+
{match:"smith (linux, i386)"},
116+
{match:"Confirm create",write:"yes"},
117+
}
118+
for_,m:=rangematches {
119+
pty.ExpectMatch(m.match)
120+
iflen(m.write)>0 {
121+
pty.WriteLine(m.write)
122+
}
123+
}
124+
<-doneChan
125+
126+
ws,err:=member.WorkspaceByOwnerAndName(context.Background(),codersdk.Me,"my-workspace", codersdk.WorkspaceOptions{})
127+
ifassert.NoError(t,err,"expected workspace to be created") {
128+
assert.Equal(t,ws.TemplateName,templateName)
129+
assert.Equal(t,ws.OrganizationName,setup.second.ID,"workspace in second organization")
130+
}
131+
})
132+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp