MCPcopy Index your code
hub / github.com/coder/coder / TestUpdateTemplateACL

Function TestUpdateTemplateACL

enterprise/coderd/templates_test.go:1359–1909  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1357}
1358
1359func TestUpdateTemplateACL(t *testing.T) {
1360 t.Parallel()
1361
1362 t.Run("UserPerms", func(t *testing.T) {
1363 t.Parallel()
1364 client, user := coderdenttest.New(t, &coderdenttest.Options{LicenseOptions: &coderdenttest.LicenseOptions{
1365 Features: license.Features{
1366 codersdk.FeatureTemplateRBAC: 1,
1367 },
1368 }})
1369 anotherClient, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID, rbac.RoleTemplateAdmin())
1370
1371 _, user2 := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
1372 _, user3 := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
1373 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1374 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
1375
1376 ctx := testutil.Context(t, testutil.WaitLong)
1377
1378 err := anotherClient.UpdateTemplateACL(ctx, template.ID, codersdk.UpdateTemplateACL{
1379 UserPerms: map[string]codersdk.TemplateRole{
1380 user2.ID.String(): codersdk.TemplateRoleUse,
1381 user3.ID.String(): codersdk.TemplateRoleAdmin,
1382 },
1383 })
1384 require.NoError(t, err)
1385
1386 acl, err := anotherClient.TemplateACL(ctx, template.ID)
1387 require.NoError(t, err)
1388
1389 templateUser2 := codersdk.TemplateUser{
1390 User: user2,
1391 Role: codersdk.TemplateRoleUse,
1392 }
1393
1394 templateUser3 := codersdk.TemplateUser{
1395 User: user3,
1396 Role: codersdk.TemplateRoleAdmin,
1397 }
1398
1399 require.Len(t, acl.Users, 2)
1400 require.Contains(t, acl.Users, templateUser2)
1401 require.Contains(t, acl.Users, templateUser3)
1402 })
1403
1404 t.Run("Audit", func(t *testing.T) {
1405 t.Parallel()
1406
1407 auditor := audit.NewMock()
1408 client, user := coderdenttest.New(t, &coderdenttest.Options{
1409 AuditLogging: true,
1410 Options: &coderdtest.Options{
1411 IncludeProvisionerDaemon: true,
1412 Auditor: auditor,
1413 },
1414 LicenseOptions: &coderdenttest.LicenseOptions{
1415 Features: license.Features{
1416 codersdk.FeatureTemplateRBAC: 1,

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
ContextFunction · 0.92
NewMockFunction · 0.92
AsErrorFunction · 0.92
CreateGroupFunction · 0.92
RoleUserAdminFunction · 0.92
UpdateTemplateACLMethod · 0.80
TemplateACLMethod · 0.80

Tested by

no test coverage detected