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

Function TestWorkspaceAgent_Startup

coderd/workspaceagents_test.go:2690–2757  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2688}
2689
2690func TestWorkspaceAgent_Startup(t *testing.T) {
2691 t.Parallel()
2692
2693 t.Run("OK", func(t *testing.T) {
2694 t.Parallel()
2695
2696 client, db := coderdtest.NewWithDatabase(t, nil)
2697 user := coderdtest.CreateFirstUser(t, client)
2698 r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
2699 OrganizationID: user.OrganizationID,
2700 OwnerID: user.UserID,
2701 }).WithAgent().Do()
2702 agentClient := agentsdk.New(client.URL, agentsdk.WithFixedToken(r.AgentToken))
2703
2704 ctx := testutil.Context(t, testutil.WaitMedium)
2705
2706 var (
2707 expectedVersion = "v1.2.3"
2708 expectedDir = "/home/coder"
2709 expectedSubsystems = []codersdk.AgentSubsystem{
2710 codersdk.AgentSubsystemEnvbox,
2711 codersdk.AgentSubsystemExectrace,
2712 }
2713 )
2714
2715 err := postStartup(ctx, t, agentClient, &agentproto.Startup{
2716 Version: expectedVersion,
2717 ExpandedDirectory: expectedDir,
2718 Subsystems: []agentproto.Startup_Subsystem{
2719 // Not sorted.
2720 agentproto.Startup_EXECTRACE,
2721 agentproto.Startup_ENVBOX,
2722 },
2723 })
2724 require.NoError(t, err)
2725
2726 workspace, err := client.Workspace(ctx, r.Workspace.ID)
2727 require.NoError(t, err)
2728
2729 wsagent, err := client.WorkspaceAgent(ctx, workspace.LatestBuild.Resources[0].Agents[0].ID)
2730 require.NoError(t, err)
2731 require.Equal(t, expectedVersion, wsagent.Version)
2732 require.Equal(t, expectedDir, wsagent.ExpandedDirectory)
2733 // Sorted
2734 require.Equal(t, expectedSubsystems, wsagent.Subsystems)
2735 require.Equal(t, agentproto.CurrentVersion.String(), wsagent.APIVersion)
2736 })
2737
2738 t.Run("InvalidSemver", func(t *testing.T) {
2739 t.Parallel()
2740
2741 client, db := coderdtest.NewWithDatabase(t, nil)
2742 user := coderdtest.CreateFirstUser(t, client)
2743 r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
2744 OrganizationID: user.OrganizationID,
2745 OwnerID: user.UserID,
2746 }).WithAgent().Do()
2747

Callers

nothing calls this directly

Calls 14

NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
WorkspaceBuildFunction · 0.92
NewFunction · 0.92
WithFixedTokenFunction · 0.92
ContextFunction · 0.92
postStartupFunction · 0.85
WithAgentMethod · 0.80
WorkspaceMethod · 0.80
WorkspaceAgentMethod · 0.80
RunMethod · 0.65
DoMethod · 0.65

Tested by

no test coverage detected