MCPcopy Create free account
hub / github.com/coder/coder / TestGetProvisionerDaemons

Function TestGetProvisionerDaemons

enterprise/coderd/provisionerdaemons_test.go:710–988  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

708}
709
710func TestGetProvisionerDaemons(t *testing.T) {
711 t.Parallel()
712
713 t.Run("OK", func(t *testing.T) {
714 t.Parallel()
715 dv := coderdtest.DeploymentValues(t)
716 client, first := coderdenttest.New(t, &coderdenttest.Options{
717 Options: &coderdtest.Options{
718 DeploymentValues: dv,
719 },
720 ProvisionerDaemonPSK: "provisionersftw",
721 LicenseOptions: &coderdenttest.LicenseOptions{
722 Features: license.Features{
723 codersdk.FeatureExternalProvisionerDaemons: 1,
724 codersdk.FeatureMultipleOrganizations: 1,
725 },
726 },
727 })
728 org := coderdenttest.CreateOrganization(t, client, coderdenttest.CreateOrganizationOptions{})
729 orgAdmin, _ := coderdtest.CreateAnotherUser(t, client, org.ID, rbac.ScopedRoleOrgAdmin(org.ID))
730 outsideOrg, _ := coderdtest.CreateAnotherUser(t, client, first.OrganizationID)
731
732 res, err := orgAdmin.CreateProvisionerKey(context.Background(), org.ID, codersdk.CreateProvisionerKeyRequest{
733 Name: "my-key",
734 })
735 require.NoError(t, err)
736
737 keys, err := orgAdmin.ListProvisionerKeys(context.Background(), org.ID)
738 require.NoError(t, err)
739 require.Len(t, keys, 1)
740
741 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
742 defer cancel()
743 daemonName := testutil.MustRandString(t, 63)
744 srv, err := orgAdmin.ServeProvisionerDaemon(ctx, codersdk.ServeProvisionerDaemonRequest{
745 Name: daemonName,
746 Organization: org.ID,
747 Provisioners: []codersdk.ProvisionerType{
748 codersdk.ProvisionerTypeEcho,
749 },
750 Tags: map[string]string{},
751 ProvisionerKey: res.Key,
752 })
753 require.NoError(t, err)
754 srv.DRPCConn().Close()
755
756 daemons, err := orgAdmin.OrganizationProvisionerDaemons(ctx, org.ID, nil)
757 require.NoError(t, err)
758 require.Len(t, daemons, 1)
759
760 assert.Equal(t, daemonName, daemons[0].Name)
761 assert.Equal(t, buildinfo.Version(), daemons[0].Version)
762 assert.Equal(t, proto.CurrentVersion.String(), daemons[0].APIVersion)
763 assert.Equal(t, keys[0].ID, daemons[0].KeyID)
764
765 pkDaemons, err := orgAdmin.ListProvisionerKeyDaemons(ctx, org.ID)
766 require.NoError(t, err)
767

Callers

nothing calls this directly

Calls 15

DeploymentValuesFunction · 0.92
NewFunction · 0.92
CreateOrganizationFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleOrgAdminFunction · 0.92
MustRandStringFunction · 0.92
VersionFunction · 0.92
NewWithDatabaseFunction · 0.92
ContextFunction · 0.92
AsSystemRestrictedFunction · 0.92
ProvisionerDaemonFunction · 0.92

Tested by

no test coverage detected