(t *testing.T)
| 132 | } |
| 133 | |
| 134 | func TestGetWorkspaceAgentPortShares(t *testing.T) { |
| 135 | t.Parallel() |
| 136 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 137 | defer cancel() |
| 138 | |
| 139 | ownerClient, db := coderdtest.NewWithDatabase(t, nil) |
| 140 | owner := coderdtest.CreateFirstUser(t, ownerClient) |
| 141 | client, user := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID) |
| 142 | |
| 143 | tmpDir := t.TempDir() |
| 144 | r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ |
| 145 | OrganizationID: owner.OrganizationID, |
| 146 | OwnerID: user.ID, |
| 147 | }).WithAgent(func(agents []*proto.Agent) []*proto.Agent { |
| 148 | agents[0].Directory = tmpDir |
| 149 | return agents |
| 150 | }).Do() |
| 151 | agents, err := db.GetWorkspaceAgentsInLatestBuildByWorkspaceID(dbauthz.As(ctx, coderdtest.AuthzUserSubjectWithDB(ctx, t, db, user)), r.Workspace.ID) |
| 152 | require.NoError(t, err) |
| 153 | |
| 154 | _, err = client.UpsertWorkspaceAgentPortShare(ctx, r.Workspace.ID, codersdk.UpsertWorkspaceAgentPortShareRequest{ |
| 155 | AgentName: agents[0].Name, |
| 156 | Port: 8080, |
| 157 | ShareLevel: codersdk.WorkspaceAgentPortShareLevelPublic, |
| 158 | Protocol: codersdk.WorkspaceAgentPortShareProtocolHTTP, |
| 159 | }) |
| 160 | require.NoError(t, err) |
| 161 | |
| 162 | ps, err := client.GetWorkspaceAgentPortShares(ctx, r.Workspace.ID) |
| 163 | require.NoError(t, err) |
| 164 | require.Len(t, ps.Shares, 1) |
| 165 | require.EqualValues(t, agents[0].Name, ps.Shares[0].AgentName) |
| 166 | require.EqualValues(t, 8080, ps.Shares[0].Port) |
| 167 | require.EqualValues(t, codersdk.WorkspaceAgentPortShareLevelPublic, ps.Shares[0].ShareLevel) |
| 168 | } |
| 169 | |
| 170 | func TestDeleteWorkspaceAgentPortShare(t *testing.T) { |
| 171 | t.Parallel() |
nothing calls this directly
no test coverage detected