mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
fix: block updating mutable parameters (#6717)
This commit is contained in:
@ -1265,7 +1265,8 @@ func TestWorkspaceUpdateAutostart(t *testing.T) {
|
|||||||
if len(auditor.AuditLogs) < 7 {
|
if len(auditor.AuditLogs) < 7 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return auditor.AuditLogs[6].Action == database.AuditActionWrite
|
return auditor.AuditLogs[6].Action == database.AuditActionWrite ||
|
||||||
|
auditor.AuditLogs[5].Action == database.AuditActionWrite
|
||||||
}, testutil.WaitShort, testutil.IntervalFast)
|
}, testutil.WaitShort, testutil.IntervalFast)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -1384,7 +1385,8 @@ func TestWorkspaceUpdateTTL(t *testing.T) {
|
|||||||
if len(auditor.AuditLogs) != 7 {
|
if len(auditor.AuditLogs) != 7 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return auditor.AuditLogs[6].Action == database.AuditActionWrite
|
return auditor.AuditLogs[6].Action == database.AuditActionWrite ||
|
||||||
|
auditor.AuditLogs[5].Action == database.AuditActionWrite
|
||||||
}, testutil.WaitMedium, testutil.IntervalFast, "expected audit log to be written")
|
}, testutil.WaitMedium, testutil.IntervalFast, "expected audit log to be written")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ import axios from "axios"
|
|||||||
import {
|
import {
|
||||||
MockTemplate,
|
MockTemplate,
|
||||||
MockTemplateVersionParameter1,
|
MockTemplateVersionParameter1,
|
||||||
|
MockTemplateVersionParameter2,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
MockWorkspaceBuild,
|
MockWorkspaceBuild,
|
||||||
MockWorkspaceBuildParameter1,
|
MockWorkspaceBuildParameter1,
|
||||||
@ -184,7 +185,10 @@ describe("api.ts", () => {
|
|||||||
jest.spyOn(api, "getWorkspaceBuildParameters").mockResolvedValue([])
|
jest.spyOn(api, "getWorkspaceBuildParameters").mockResolvedValue([])
|
||||||
jest
|
jest
|
||||||
.spyOn(api, "getTemplateVersionRichParameters")
|
.spyOn(api, "getTemplateVersionRichParameters")
|
||||||
.mockResolvedValue([MockTemplateVersionParameter1])
|
.mockResolvedValue([
|
||||||
|
MockTemplateVersionParameter1,
|
||||||
|
{ ...MockTemplateVersionParameter2, mutable: false },
|
||||||
|
])
|
||||||
|
|
||||||
let error = new Error()
|
let error = new Error()
|
||||||
try {
|
try {
|
||||||
@ -194,6 +198,8 @@ describe("api.ts", () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
expect(error).toBeInstanceOf(api.MissingBuildParameters)
|
expect(error).toBeInstanceOf(api.MissingBuildParameters)
|
||||||
|
// Verify if the correct missing parameters are being passed
|
||||||
|
// It should not require immutable parameters
|
||||||
expect((error as api.MissingBuildParameters).parameters).toEqual([
|
expect((error as api.MissingBuildParameters).parameters).toEqual([
|
||||||
MockTemplateVersionParameter1,
|
MockTemplateVersionParameter1,
|
||||||
])
|
])
|
||||||
|
@ -976,7 +976,9 @@ const getMissingParameters = (
|
|||||||
templateParameters: TypesGen.TemplateVersionParameter[],
|
templateParameters: TypesGen.TemplateVersionParameter[],
|
||||||
) => {
|
) => {
|
||||||
const missingParameters: TypesGen.TemplateVersionParameter[] = []
|
const missingParameters: TypesGen.TemplateVersionParameter[] = []
|
||||||
const requiredParameters = templateParameters.filter((p) => p.required)
|
const requiredParameters = templateParameters.filter(
|
||||||
|
(p) => p.required && p.mutable,
|
||||||
|
)
|
||||||
|
|
||||||
for (const parameter of requiredParameters) {
|
for (const parameter of requiredParameters) {
|
||||||
// Check if there is a new value
|
// Check if there is a new value
|
||||||
|
Reference in New Issue
Block a user