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