@@ -294,6 +294,51 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
294
294
require .Equal (t , proto .CurrentVersion .String (), daemons [0 ].APIVersion )
295
295
})
296
296
297
+ t .Run ("OKWithTags" , func (t * testing.T ) {
298
+ t .Parallel ()
299
+
300
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
301
+ defer cancel ()
302
+ client , user := coderdenttest .New (t , & coderdenttest.Options {
303
+ ProvisionerDaemonPSK : "provisionersftw" ,
304
+ LicenseOptions : & coderdenttest.LicenseOptions {
305
+ Features : license.Features {
306
+ codersdk .FeatureExternalProvisionerDaemons : 1 ,
307
+ codersdk .FeatureMultipleOrganizations : 1 ,
308
+ },
309
+ },
310
+ })
311
+ // nolint:gocritic // test
312
+ res , err := client .CreateProvisionerKey (ctx , user .OrganizationID , codersdk.CreateProvisionerKeyRequest {
313
+ Name : "dont-TEST-me" ,
314
+ Tags : map [string ]string {
315
+ "tag1" : "value1" ,
316
+ "tag2" : "value2" ,
317
+ },
318
+ })
319
+ require .NoError (t , err )
320
+ inv , conf := newCLI (t , "provisionerd" , "start" , "--key" , res .Key , "--name=matt-daemon" )
321
+ err = conf .URL ().Write (client .URL .String ())
322
+ require .NoError (t , err )
323
+ pty := ptytest .New (t ).Attach (inv )
324
+ clitest .Start (t , inv )
325
+ pty .ExpectNoMatchBefore (ctx , "check entitlement" , "starting provisioner daemon" )
326
+ pty .ExpectMatchContext (ctx , `tags={"tag1":"value1","tag2":"value2"}` )
327
+
328
+ var daemons []codersdk.ProvisionerDaemon
329
+ require .Eventually (t , func () bool {
330
+ daemons , err = client .OrganizationProvisionerDaemons (ctx , user .OrganizationID , nil )
331
+ if err != nil {
332
+ return false
333
+ }
334
+ return len (daemons ) == 1
335
+ }, testutil .WaitShort , testutil .IntervalSlow )
336
+ require .Equal (t , "matt-daemon" , daemons [0 ].Name )
337
+ require .Equal (t , provisionersdk .ScopeOrganization , daemons [0 ].Tags [provisionersdk .TagScope ])
338
+ require .Equal (t , buildinfo .Version (), daemons [0 ].Version )
339
+ require .Equal (t , proto .CurrentVersion .String (), daemons [0 ].APIVersion )
340
+ })
341
+
297
342
t .Run ("NoPSK" , func (t * testing.T ) {
298
343
t .Parallel ()
299
344
0 commit comments