mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add template activity_bump property (#11734)
Allows template admins to configure the activity bump duration. Defaults to 1h.
This commit is contained in:
@@ -57,7 +57,10 @@ func TestPostTemplateByOrganization(t *testing.T) {
|
||||
|
||||
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
|
||||
|
||||
expected := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
|
||||
expected := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID, func(ctr *codersdk.CreateTemplateRequest) {
|
||||
ctr.ActivityBumpMillis = ptr.Ref((3 * time.Hour).Milliseconds())
|
||||
})
|
||||
assert.Equal(t, (3 * time.Hour).Milliseconds(), expected.ActivityBumpMillis)
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
|
||||
defer cancel()
|
||||
@@ -67,6 +70,7 @@ func TestPostTemplateByOrganization(t *testing.T) {
|
||||
|
||||
assert.Equal(t, expected.Name, got.Name)
|
||||
assert.Equal(t, expected.Description, got.Description)
|
||||
assert.Equal(t, expected.ActivityBumpMillis, got.ActivityBumpMillis)
|
||||
|
||||
require.Len(t, auditor.AuditLogs(), 3)
|
||||
assert.Equal(t, database.AuditActionCreate, auditor.AuditLogs()[0].Action)
|
||||
@@ -268,6 +272,7 @@ func TestPostTemplateByOrganization(t *testing.T) {
|
||||
AllowUserAutostart: options.UserAutostartEnabled,
|
||||
AllowUserAutostop: options.UserAutostopEnabled,
|
||||
DefaultTTL: int64(options.DefaultTTL),
|
||||
ActivityBump: int64(options.ActivityBump),
|
||||
UseMaxTtl: options.UseMaxTTL,
|
||||
MaxTTL: int64(options.MaxTTL),
|
||||
AutostopRequirementDaysOfWeek: int16(options.AutostopRequirement.DaysOfWeek),
|
||||
@@ -320,6 +325,7 @@ func TestPostTemplateByOrganization(t *testing.T) {
|
||||
AllowUserAutostart: options.UserAutostartEnabled,
|
||||
AllowUserAutostop: options.UserAutostopEnabled,
|
||||
DefaultTTL: int64(options.DefaultTTL),
|
||||
ActivityBump: int64(options.ActivityBump),
|
||||
UseMaxTtl: options.UseMaxTTL,
|
||||
MaxTTL: int64(options.MaxTTL),
|
||||
AutostopRequirementDaysOfWeek: int16(options.AutostopRequirement.DaysOfWeek),
|
||||
@@ -508,6 +514,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
|
||||
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
|
||||
assert.Equal(t, (1 * time.Hour).Milliseconds(), template.ActivityBumpMillis)
|
||||
|
||||
req := codersdk.UpdateTemplateMeta{
|
||||
Name: "new-template-name",
|
||||
@@ -515,6 +522,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
Description: "lorem ipsum dolor sit amet et cetera",
|
||||
Icon: "/icon/new-icon.png",
|
||||
DefaultTTLMillis: 12 * time.Hour.Milliseconds(),
|
||||
ActivityBumpMillis: 3 * time.Hour.Milliseconds(),
|
||||
AllowUserCancelWorkspaceJobs: false,
|
||||
}
|
||||
// It is unfortunate we need to sleep, but the test can fail if the
|
||||
@@ -532,6 +540,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
assert.Equal(t, req.Description, updated.Description)
|
||||
assert.Equal(t, req.Icon, updated.Icon)
|
||||
assert.Equal(t, req.DefaultTTLMillis, updated.DefaultTTLMillis)
|
||||
assert.Equal(t, req.ActivityBumpMillis, updated.ActivityBumpMillis)
|
||||
assert.False(t, req.AllowUserCancelWorkspaceJobs)
|
||||
|
||||
// Extra paranoid: did it _really_ happen?
|
||||
@@ -543,6 +552,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
assert.Equal(t, req.Description, updated.Description)
|
||||
assert.Equal(t, req.Icon, updated.Icon)
|
||||
assert.Equal(t, req.DefaultTTLMillis, updated.DefaultTTLMillis)
|
||||
assert.Equal(t, req.ActivityBumpMillis, updated.ActivityBumpMillis)
|
||||
assert.False(t, req.AllowUserCancelWorkspaceJobs)
|
||||
|
||||
require.Len(t, auditor.AuditLogs(), 5)
|
||||
@@ -707,6 +717,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
AllowUserAutostart: options.UserAutostartEnabled,
|
||||
AllowUserAutostop: options.UserAutostopEnabled,
|
||||
DefaultTTL: int64(options.DefaultTTL),
|
||||
ActivityBump: int64(options.ActivityBump),
|
||||
MaxTTL: int64(options.MaxTTL),
|
||||
UseMaxTtl: options.UseMaxTTL,
|
||||
AutostopRequirementDaysOfWeek: int16(options.AutostopRequirement.DaysOfWeek),
|
||||
@@ -1015,6 +1026,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
Description: template.Description,
|
||||
Icon: template.Icon,
|
||||
DefaultTTLMillis: template.DefaultTTLMillis,
|
||||
ActivityBumpMillis: template.ActivityBumpMillis,
|
||||
AutostopRequirement: nil,
|
||||
AllowUserAutostart: template.AllowUserAutostart,
|
||||
AllowUserAutostop: template.AllowUserAutostop,
|
||||
@@ -1105,6 +1117,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
AllowUserAutostart: options.UserAutostartEnabled,
|
||||
AllowUserAutostop: options.UserAutostopEnabled,
|
||||
DefaultTTL: int64(options.DefaultTTL),
|
||||
ActivityBump: int64(options.ActivityBump),
|
||||
UseMaxTtl: options.UseMaxTTL,
|
||||
MaxTTL: int64(options.MaxTTL),
|
||||
AutostopRequirementDaysOfWeek: int16(options.AutostopRequirement.DaysOfWeek),
|
||||
@@ -1177,6 +1190,7 @@ func TestPatchTemplateMeta(t *testing.T) {
|
||||
AllowUserAutostart: options.UserAutostartEnabled,
|
||||
AllowUserAutostop: options.UserAutostopEnabled,
|
||||
DefaultTTL: int64(options.DefaultTTL),
|
||||
ActivityBump: int64(options.ActivityBump),
|
||||
UseMaxTtl: options.UseMaxTTL,
|
||||
MaxTTL: int64(options.MaxTTL),
|
||||
AutostopRequirementDaysOfWeek: int16(options.AutostopRequirement.DaysOfWeek),
|
||||
|
||||
Reference in New Issue
Block a user