(t *testing.T)
| 708 | } |
| 709 | |
| 710 | func 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 |
nothing calls this directly
no test coverage detected