Skip to content

Commit 62357a7

Browse files
committed
fix an issue in updating templates
1 parent 0ce8aa3 commit 62357a7

File tree

3 files changed

+51
-1
lines changed

3 files changed

+51
-1
lines changed

coderd/templates.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ func (api *API) patchTemplateMeta(rw http.ResponseWriter, r *http.Request) {
534534
req.MaxTTLMillis == time.Duration(template.MaxTTL).Milliseconds() &&
535535
req.FailureTTLMillis == time.Duration(template.FailureTTL).Milliseconds() &&
536536
req.InactivityTTLMillis == time.Duration(template.InactivityTTL).Milliseconds() &&
537-
req.FailureTTLMillis == time.Duration(template.LockedTTL).Milliseconds() {
537+
req.LockedTTLMillis == time.Duration(template.LockedTTL).Milliseconds() {
538538
return nil
539539
}
540540

enterprise/coderd/coderdenttest/coderdenttest.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ type LicenseOptions struct {
112112
Features license.Features
113113
}
114114

115+
// AddFullLicense generates a license with all features enabled.
115116
func AddFullLicense(t *testing.T, client *codersdk.Client) codersdk.License {
116117
return AddLicense(t, client, LicenseOptions{AllFeatures: true})
117118
}

enterprise/coderd/templates_test.go

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,55 @@ func TestTemplates(t *testing.T) {
206206
require.NoError(t, err)
207207
require.EqualValues(t, exp, *ws.TTLMillis)
208208
})
209+
210+
t.Run("CleanupTTLs", func(t *testing.T) {
211+
t.Parallel()
212+
213+
ctx := testutil.Context(t, testutil.WaitMedium)
214+
client := coderdenttest.New(t, &coderdenttest.Options{
215+
Options: &coderdtest.Options{
216+
IncludeProvisionerDaemon: true,
217+
},
218+
})
219+
user := coderdtest.CreateFirstUser(t, client)
220+
_ = coderdenttest.AddFullLicense(t, client)
221+
222+
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
223+
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
224+
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
225+
require.EqualValues(t, 0, template.InactivityTTLMillis)
226+
require.EqualValues(t, 0, template.FailureTTLMillis)
227+
require.EqualValues(t, 0, template.LockedTTLMillis)
228+
229+
var (
230+
failureTTL int64 = 1
231+
inactivityTTL int64 = 2
232+
lockedTTL int64 = 3
233+
)
234+
235+
updated, err := client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
236+
Name: template.Name,
237+
DisplayName: template.DisplayName,
238+
Description: template.Description,
239+
Icon: template.Icon,
240+
AllowUserCancelWorkspaceJobs: template.AllowUserCancelWorkspaceJobs,
241+
InactivityTTLMillis: inactivityTTL,
242+
FailureTTLMillis: failureTTL,
243+
LockedTTLMillis: lockedTTL,
244+
})
245+
require.NoError(t, err)
246+
require.Equal(t, failureTTL, updated.FailureTTLMillis)
247+
require.Equal(t, inactivityTTL, updated.InactivityTTLMillis)
248+
require.Equal(t, lockedTTL, updated.LockedTTLMillis)
249+
250+
// Validate fetching the template returns the same values as updating
251+
// the template.
252+
template, err = client.Template(ctx, template.ID)
253+
require.NoError(t, err)
254+
require.Equal(t, failureTTL, updated.FailureTTLMillis)
255+
require.Equal(t, inactivityTTL, updated.InactivityTTLMillis)
256+
require.Equal(t, lockedTTL, updated.LockedTTLMillis)
257+
})
209258
}
210259

211260
func TestTemplateACL(t *testing.T) {

0 commit comments

Comments
 (0)