Skip to content

Commit eea4e99

Browse files
committed
fix: avoid sharing echo.Responses across tests
1 parent 51ce047 commit eea4e99

File tree

3 files changed

+60
-55
lines changed

3 files changed

+60
-55
lines changed

cli/restart_test.go

+31-29
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,16 @@ import (
2020
func TestRestart(t *testing.T) {
2121
t.Parallel()
2222

23-
echoResponses := prepareEchoResponses([]*proto.RichParameter{
24-
{
25-
Name: ephemeralParameterName,
26-
Description: ephemeralParameterDescription,
27-
Mutable: true,
28-
Ephemeral: true,
29-
},
30-
})
23+
echoResponses := func() *echo.Responses {
24+
return prepareEchoResponses([]*proto.RichParameter{
25+
{
26+
Name: ephemeralParameterName,
27+
Description: ephemeralParameterDescription,
28+
Mutable: true,
29+
Ephemeral: true,
30+
},
31+
})
32+
}
3133

3234
t.Run("OK", func(t *testing.T) {
3335
t.Parallel()
@@ -66,7 +68,7 @@ func TestRestart(t *testing.T) {
6668
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
6769
owner := coderdtest.CreateFirstUser(t, client)
6870
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
69-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
71+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
7072
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
7173
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
7274
workspace := coderdtest.CreateWorkspace(t, member, template.ID)
@@ -120,7 +122,7 @@ func TestRestart(t *testing.T) {
120122
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
121123
owner := coderdtest.CreateFirstUser(t, client)
122124
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
123-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
125+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
124126
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
125127
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
126128
workspace := coderdtest.CreateWorkspace(t, member, template.ID)
@@ -174,7 +176,7 @@ func TestRestart(t *testing.T) {
174176
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
175177
owner := coderdtest.CreateFirstUser(t, client)
176178
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
177-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
179+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
178180
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
179181
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
180182
workspace := coderdtest.CreateWorkspace(t, member, template.ID)
@@ -228,7 +230,7 @@ func TestRestart(t *testing.T) {
228230
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
229231
owner := coderdtest.CreateFirstUser(t, client)
230232
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
231-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
233+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
232234
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
233235
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
234236
workspace := coderdtest.CreateWorkspace(t, member, template.ID)
@@ -280,28 +282,28 @@ func TestRestart(t *testing.T) {
280282
func TestRestartWithParameters(t *testing.T) {
281283
t.Parallel()
282284

283-
echoResponses := &echo.Responses{
284-
Parse: echo.ParseComplete,
285-
ProvisionPlan: []*proto.Response{
286-
{
287-
Type: &proto.Response_Plan{
288-
Plan: &proto.PlanComplete{
289-
Parameters: []*proto.RichParameter{
290-
{
291-
Name: immutableParameterName,
292-
Description: immutableParameterDescription,
293-
Required: true,
285+
t.Run("DoNotAskForImmutables", func(t *testing.T) {
286+
t.Parallel()
287+
288+
echoResponses := &echo.Responses{
289+
Parse: echo.ParseComplete,
290+
ProvisionPlan: []*proto.Response{
291+
{
292+
Type: &proto.Response_Plan{
293+
Plan: &proto.PlanComplete{
294+
Parameters: []*proto.RichParameter{
295+
{
296+
Name: immutableParameterName,
297+
Description: immutableParameterDescription,
298+
Required: true,
299+
},
294300
},
295301
},
296302
},
297303
},
298304
},
299-
},
300-
ProvisionApply: echo.ApplyComplete,
301-
}
302-
303-
t.Run("DoNotAskForImmutables", func(t *testing.T) {
304-
t.Parallel()
305+
ProvisionApply: echo.ApplyComplete,
306+
}
305307

306308
// Create the workspace
307309
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})

cli/start_test.go

+18-16
Original file line numberDiff line numberDiff line change
@@ -79,25 +79,27 @@ var (
7979
func TestStart(t *testing.T) {
8080
t.Parallel()
8181

82-
echoResponses := &echo.Responses{
83-
Parse: echo.ParseComplete,
84-
ProvisionPlan: []*proto.Response{
85-
{
86-
Type: &proto.Response_Plan{
87-
Plan: &proto.PlanComplete{
88-
Parameters: []*proto.RichParameter{
89-
{
90-
Name: ephemeralParameterName,
91-
Description: ephemeralParameterDescription,
92-
Mutable: true,
93-
Ephemeral: true,
82+
echoResponses := func() *echo.Responses {
83+
return &echo.Responses{
84+
Parse: echo.ParseComplete,
85+
ProvisionPlan: []*proto.Response{
86+
{
87+
Type: &proto.Response_Plan{
88+
Plan: &proto.PlanComplete{
89+
Parameters: []*proto.RichParameter{
90+
{
91+
Name: ephemeralParameterName,
92+
Description: ephemeralParameterDescription,
93+
Mutable: true,
94+
Ephemeral: true,
95+
},
9496
},
9597
},
9698
},
9799
},
98100
},
99-
},
100-
ProvisionApply: echo.ApplyComplete,
101+
ProvisionApply: echo.ApplyComplete,
102+
}
101103
}
102104

103105
t.Run("BuildOptions", func(t *testing.T) {
@@ -106,7 +108,7 @@ func TestStart(t *testing.T) {
106108
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
107109
owner := coderdtest.CreateFirstUser(t, client)
108110
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
109-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
111+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
110112
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
111113
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
112114
workspace := coderdtest.CreateWorkspace(t, member, template.ID)
@@ -160,7 +162,7 @@ func TestStart(t *testing.T) {
160162
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
161163
owner := coderdtest.CreateFirstUser(t, client)
162164
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
163-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
165+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
164166
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
165167
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
166168
workspace := coderdtest.CreateWorkspace(t, member, template.ID)

cli/update_test.go

+11-10
Original file line numberDiff line numberDiff line change
@@ -101,21 +101,22 @@ func TestUpdateWithRichParameters(t *testing.T) {
101101
immutableParameterValue = "4"
102102
)
103103

104-
echoResponses := prepareEchoResponses([]*proto.RichParameter{
105-
{Name: firstParameterName, Description: firstParameterDescription, Mutable: true},
106-
{Name: immutableParameterName, Description: immutableParameterDescription, Mutable: false},
107-
{Name: secondParameterName, Description: secondParameterDescription, Mutable: true},
108-
{Name: ephemeralParameterName, Description: ephemeralParameterDescription, Mutable: true, Ephemeral: true},
109-
},
110-
)
104+
echoResponses := func() *echo.Responses {
105+
return prepareEchoResponses([]*proto.RichParameter{
106+
{Name: firstParameterName, Description: firstParameterDescription, Mutable: true},
107+
{Name: immutableParameterName, Description: immutableParameterDescription, Mutable: false},
108+
{Name: secondParameterName, Description: secondParameterDescription, Mutable: true},
109+
{Name: ephemeralParameterName, Description: ephemeralParameterDescription, Mutable: true, Ephemeral: true},
110+
})
111+
}
111112

112113
t.Run("ImmutableCannotBeCustomized", func(t *testing.T) {
113114
t.Parallel()
114115

115116
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
116117
owner := coderdtest.CreateFirstUser(t, client)
117118
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
118-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
119+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
119120
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
120121

121122
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -166,7 +167,7 @@ func TestUpdateWithRichParameters(t *testing.T) {
166167
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
167168
owner := coderdtest.CreateFirstUser(t, client)
168169
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
169-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
170+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
170171
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
171172

172173
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -231,7 +232,7 @@ func TestUpdateWithRichParameters(t *testing.T) {
231232
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
232233
owner := coderdtest.CreateFirstUser(t, client)
233234
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
234-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
235+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
235236
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
236237

237238
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)

0 commit comments

Comments
 (0)