Skip to content

Commit 7b83b7e

Browse files
committed
more tests
1 parent aa314a3 commit 7b83b7e

File tree

1 file changed

+48
-1
lines changed

1 file changed

+48
-1
lines changed

enterprise/cli/provisionerdaemonstart_test.go

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
338338

339339
var daemons []codersdk.ProvisionerDaemon
340340
require.Eventually(t, func() bool {
341-
daemons, err = client.ProvisionerDaemons(ctx)
341+
daemons, err = client.OrganizationProvisionerDaemons(ctx, user.OrganizationID)
342342
if err != nil {
343343
return false
344344
}
@@ -411,6 +411,53 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
411411
err = inv.WithContext(ctx).Run()
412412
require.ErrorContains(t, err, "cannot provide tags when using provisioner key")
413413
})
414+
415+
t.Run("AnotherOrg", func(t *testing.T) {
416+
t.Parallel()
417+
418+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
419+
defer cancel()
420+
dv := coderdtest.DeploymentValues(t)
421+
dv.Experiments.Append(string(codersdk.ExperimentMultiOrganization))
422+
client, _ := coderdenttest.New(t, &coderdenttest.Options{
423+
ProvisionerDaemonPSK: "provisionersftw",
424+
LicenseOptions: &coderdenttest.LicenseOptions{
425+
Features: license.Features{
426+
codersdk.FeatureExternalProvisionerDaemons: 1,
427+
codersdk.FeatureMultipleOrganizations: 1,
428+
},
429+
},
430+
Options: &coderdtest.Options{
431+
DeploymentValues: dv,
432+
},
433+
})
434+
anotherOrg := coderdtest.CreateOrganization(t, client, coderdtest.CreateOrganizationOptions{})
435+
// nolint:gocritic // test
436+
res, err := client.CreateProvisionerKey(ctx, anotherOrg.ID, codersdk.CreateProvisionerKeyRequest{
437+
Name: "dont-TEST-me",
438+
})
439+
require.NoError(t, err)
440+
inv, conf := newCLI(t, "provisionerd", "start", "--org", anotherOrg.ID.String(), "--key", res.Key, "--name=matt-daemon")
441+
err = conf.URL().Write(client.URL.String())
442+
require.NoError(t, err)
443+
pty := ptytest.New(t).Attach(inv)
444+
clitest.Start(t, inv)
445+
pty.ExpectNoMatchBefore(ctx, "check entitlement", "starting provisioner daemon")
446+
pty.ExpectMatchContext(ctx, "matt-daemon")
447+
448+
var daemons []codersdk.ProvisionerDaemon
449+
require.Eventually(t, func() bool {
450+
daemons, err = client.OrganizationProvisionerDaemons(ctx, anotherOrg.ID)
451+
if err != nil {
452+
return false
453+
}
454+
return len(daemons) == 1
455+
}, testutil.WaitShort, testutil.IntervalSlow)
456+
require.Equal(t, "matt-daemon", daemons[0].Name)
457+
require.Equal(t, provisionersdk.ScopeOrganization, daemons[0].Tags[provisionersdk.TagScope])
458+
require.Equal(t, buildinfo.Version(), daemons[0].Version)
459+
require.Equal(t, proto.CurrentVersion.String(), daemons[0].APIVersion)
460+
})
414461
}
415462

416463
//nolint:paralleltest,tparallel // Test uses a static port.

0 commit comments

Comments
 (0)