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

Function TestProvisionerKeys

enterprise/coderd/provisionerkeys_test.go:17–136  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

15)
16
17func TestProvisionerKeys(t *testing.T) {
18 t.Parallel()
19
20 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong*10)
21 t.Cleanup(cancel)
22 dv := coderdtest.DeploymentValues(t)
23 client, owner := coderdenttest.New(t, &coderdenttest.Options{
24 Options: &coderdtest.Options{
25 DeploymentValues: dv,
26 },
27 LicenseOptions: &coderdenttest.LicenseOptions{
28 Features: license.Features{
29 codersdk.FeatureExternalProvisionerDaemons: 1,
30 codersdk.FeatureMultipleOrganizations: 1,
31 },
32 },
33 })
34 orgAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.ScopedRoleOrgAdmin(owner.OrganizationID))
35 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
36 otherOrg := coderdenttest.CreateOrganization(t, client, coderdenttest.CreateOrganizationOptions{})
37 outsideOrgAdmin, _ := coderdtest.CreateAnotherUser(t, client, otherOrg.ID, rbac.ScopedRoleOrgAdmin(otherOrg.ID))
38
39 // member cannot create a provisioner key
40 _, err := member.CreateProvisionerKey(ctx, otherOrg.ID, codersdk.CreateProvisionerKeyRequest{
41 Name: "key",
42 })
43 require.ErrorContains(t, err, "Resource not found")
44
45 // member cannot list provisioner keys
46 _, err = member.ListProvisionerKeys(ctx, otherOrg.ID)
47 require.ErrorContains(t, err, "Resource not found")
48
49 // member cannot delete a provisioner key
50 err = member.DeleteProvisionerKey(ctx, otherOrg.ID, "key")
51 require.ErrorContains(t, err, "Resource not found")
52
53 // outside org admin cannot create a provisioner key
54 _, err = outsideOrgAdmin.CreateProvisionerKey(ctx, owner.OrganizationID, codersdk.CreateProvisionerKeyRequest{
55 Name: "key",
56 })
57 require.ErrorContains(t, err, "Resource not found")
58
59 // outside org admin cannot list provisioner keys
60 _, err = outsideOrgAdmin.ListProvisionerKeys(ctx, owner.OrganizationID)
61 require.ErrorContains(t, err, "Resource not found")
62
63 // outside org admin cannot delete a provisioner key
64 err = outsideOrgAdmin.DeleteProvisionerKey(ctx, owner.OrganizationID, "key")
65 require.ErrorContains(t, err, "Resource not found")
66
67 // org admin cannot create reserved provisioner keys
68 _, err = orgAdmin.CreateProvisionerKey(ctx, owner.OrganizationID, codersdk.CreateProvisionerKeyRequest{
69 Name: codersdk.ProvisionerKeyNameBuiltIn,
70 })
71 require.ErrorContains(t, err, "reserved")
72 _, err = orgAdmin.CreateProvisionerKey(ctx, owner.OrganizationID, codersdk.CreateProvisionerKeyRequest{
73 Name: codersdk.ProvisionerKeyNameUserAuth,
74 })

Callers

nothing calls this directly

Calls 11

DeploymentValuesFunction · 0.92
NewFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleOrgAdminFunction · 0.92
CreateOrganizationFunction · 0.92
CreateProvisionerKeyMethod · 0.80
ListProvisionerKeysMethod · 0.80
CleanupMethod · 0.65
DeleteProvisionerKeyMethod · 0.65
LenMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected