Skip to content

Commit 299166a

Browse files
committed
test: add unit test to excercise owner reading template bug
Create a template, remove everyone group, see if owner can read
1 parent 1f0e6ba commit 299166a

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

coderd/templates_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,33 @@ func TestTemplate(t *testing.T) {
4242
_, err := client.Template(ctx, template.ID)
4343
require.NoError(t, err)
4444
})
45+
46+
// Create a template, remove the everyone group, see if an owner can
47+
// still fetch the template.
48+
t.Run("GetOnEveryoneRemove", func(t *testing.T) {
49+
t.Parallel()
50+
owner := coderdtest.New(t, nil)
51+
first := coderdtest.CreateFirstUser(t, owner)
52+
53+
client, _ := coderdtest.CreateAnotherUser(t, owner, first.OrganizationID, rbac.RoleTemplateAdmin())
54+
version := coderdtest.CreateTemplateVersion(t, client, first.OrganizationID, nil)
55+
template := coderdtest.CreateTemplate(t, client, first.OrganizationID, version.ID)
56+
57+
ctx := testutil.Context(t, testutil.WaitMedium)
58+
err := client.UpdateTemplateACL(ctx, template.ID, codersdk.UpdateTemplateACL{
59+
UserPerms: nil,
60+
GroupPerms: map[string]codersdk.TemplateRole{
61+
"everyone": codersdk.TemplateRoleDeleted,
62+
},
63+
})
64+
require.NoError(t, err)
65+
66+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
67+
defer cancel()
68+
69+
_, err = owner.Template(ctx, template.ID)
70+
require.NoError(t, err)
71+
})
4572
}
4673

4774
func TestPostTemplateByOrganization(t *testing.T) {

0 commit comments

Comments
 (0)