Skip to content

Commit ad9c9b4

Browse files
authored
fix: block updating mutable parameters (#6717)
1 parent ab764db commit ad9c9b4

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

coderd/workspaces_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,8 @@ func TestWorkspaceUpdateAutostart(t *testing.T) {
12651265
if len(auditor.AuditLogs) < 7 {
12661266
return false
12671267
}
1268-
return auditor.AuditLogs[6].Action == database.AuditActionWrite
1268+
return auditor.AuditLogs[6].Action == database.AuditActionWrite ||
1269+
auditor.AuditLogs[5].Action == database.AuditActionWrite
12691270
}, testutil.WaitShort, testutil.IntervalFast)
12701271
})
12711272
}
@@ -1384,7 +1385,8 @@ func TestWorkspaceUpdateTTL(t *testing.T) {
13841385
if len(auditor.AuditLogs) != 7 {
13851386
return false
13861387
}
1387-
return auditor.AuditLogs[6].Action == database.AuditActionWrite
1388+
return auditor.AuditLogs[6].Action == database.AuditActionWrite ||
1389+
auditor.AuditLogs[5].Action == database.AuditActionWrite
13881390
}, testutil.WaitMedium, testutil.IntervalFast, "expected audit log to be written")
13891391
})
13901392
}

site/src/api/api.test.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import axios from "axios"
22
import {
33
MockTemplate,
44
MockTemplateVersionParameter1,
5+
MockTemplateVersionParameter2,
56
MockWorkspace,
67
MockWorkspaceBuild,
78
MockWorkspaceBuildParameter1,
@@ -184,7 +185,10 @@ describe("api.ts", () => {
184185
jest.spyOn(api, "getWorkspaceBuildParameters").mockResolvedValue([])
185186
jest
186187
.spyOn(api, "getTemplateVersionRichParameters")
187-
.mockResolvedValue([MockTemplateVersionParameter1])
188+
.mockResolvedValue([
189+
MockTemplateVersionParameter1,
190+
{ ...MockTemplateVersionParameter2, mutable: false },
191+
])
188192

189193
let error = new Error()
190194
try {
@@ -194,6 +198,8 @@ describe("api.ts", () => {
194198
}
195199

196200
expect(error).toBeInstanceOf(api.MissingBuildParameters)
201+
// Verify if the correct missing parameters are being passed
202+
// It should not require immutable parameters
197203
expect((error as api.MissingBuildParameters).parameters).toEqual([
198204
MockTemplateVersionParameter1,
199205
])

site/src/api/api.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,9 @@ const getMissingParameters = (
976976
templateParameters: TypesGen.TemplateVersionParameter[],
977977
) => {
978978
const missingParameters: TypesGen.TemplateVersionParameter[] = []
979-
const requiredParameters = templateParameters.filter((p) => p.required)
979+
const requiredParameters = templateParameters.filter(
980+
(p) => p.required && p.mutable,
981+
)
980982

981983
for (const parameter of requiredParameters) {
982984
// Check if there is a new value

0 commit comments

Comments
 (0)