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

Function setupDynamicParamsTest

coderd/parameters_test.go:411–454  ·  view source on GitHub ↗
(t *testing.T, args setupDynamicParamsTestParams)

Source from the content-addressed store, hash-verified

409}
410
411func setupDynamicParamsTest(t *testing.T, args setupDynamicParamsTestParams) dynamicParamsTest {
412 ownerClient, _, api := coderdtest.NewWithAPI(t, &coderdtest.Options{
413 Database: args.db,
414 Pubsub: args.ps,
415 IncludeProvisionerDaemon: true,
416 ProvisionerDaemonVersion: args.provisionerDaemonVersion,
417 })
418
419 owner := coderdtest.CreateFirstUser(t, ownerClient)
420 templateAdmin, _ := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID, rbac.RoleTemplateAdmin())
421
422 tpl, version := coderdtest.DynamicParameterTemplate(t, templateAdmin, owner.OrganizationID, coderdtest.DynamicParameterTemplateParams{
423 MainTF: string(args.mainTF),
424 Plan: args.plan,
425 ModulesArchive: args.modulesArchive,
426 StaticParams: args.static,
427 Variables: args.variables,
428 })
429
430 ctx := testutil.Context(t, testutil.WaitShort)
431 stream, err := templateAdmin.TemplateVersionDynamicParameters(ctx, codersdk.Me, version.ID)
432 if args.expectWebsocketError {
433 require.Errorf(t, err, "expected error forming websocket")
434 } else {
435 require.NoError(t, err)
436 }
437
438 t.Cleanup(func() {
439 if stream != nil {
440 _ = stream.Close(websocket.StatusGoingAway)
441 }
442 // Cache should always have 0 files when the only stream is closed
443 require.Eventually(t, func() bool {
444 return api.FileCache.Count() == 0
445 }, testutil.WaitShort/5, testutil.IntervalMedium)
446 })
447
448 return dynamicParamsTest{
449 client: ownerClient,
450 api: api,
451 stream: stream,
452 template: tpl,
453 }
454}
455
456// dbRejectGitSSHKey is a cheeky way to force an error to occur in a place
457// that is generally impossible to force an error.

Calls 11

NewWithAPIFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
DynamicParameterTemplateFunction · 0.92
ContextFunction · 0.92
CountMethod · 0.80
CleanupMethod · 0.65
CloseMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected