(t *testing.T)
| 168 | } |
| 169 | |
| 170 | func TestDeleteWorkspaceAgentPortShare(t *testing.T) { |
| 171 | t.Parallel() |
| 172 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 173 | defer cancel() |
| 174 | |
| 175 | ownerClient, db := coderdtest.NewWithDatabase(t, nil) |
| 176 | owner := coderdtest.CreateFirstUser(t, ownerClient) |
| 177 | client, user := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID) |
| 178 | |
| 179 | tmpDir := t.TempDir() |
| 180 | r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ |
| 181 | OrganizationID: owner.OrganizationID, |
| 182 | OwnerID: user.ID, |
| 183 | }).WithAgent(func(agents []*proto.Agent) []*proto.Agent { |
| 184 | agents[0].Directory = tmpDir |
| 185 | return agents |
| 186 | }).Do() |
| 187 | agents, err := db.GetWorkspaceAgentsInLatestBuildByWorkspaceID(dbauthz.As(ctx, coderdtest.AuthzUserSubjectWithDB(ctx, t, db, user)), r.Workspace.ID) |
| 188 | require.NoError(t, err) |
| 189 | |
| 190 | // create |
| 191 | ps, err := client.UpsertWorkspaceAgentPortShare(ctx, r.Workspace.ID, codersdk.UpsertWorkspaceAgentPortShareRequest{ |
| 192 | AgentName: agents[0].Name, |
| 193 | Port: 8080, |
| 194 | ShareLevel: codersdk.WorkspaceAgentPortShareLevelPublic, |
| 195 | Protocol: codersdk.WorkspaceAgentPortShareProtocolHTTP, |
| 196 | }) |
| 197 | require.NoError(t, err) |
| 198 | require.EqualValues(t, codersdk.WorkspaceAgentPortShareLevelPublic, ps.ShareLevel) |
| 199 | |
| 200 | // delete |
| 201 | err = client.DeleteWorkspaceAgentPortShare(ctx, r.Workspace.ID, codersdk.DeleteWorkspaceAgentPortShareRequest{ |
| 202 | AgentName: agents[0].Name, |
| 203 | Port: 8080, |
| 204 | }) |
| 205 | require.NoError(t, err) |
| 206 | |
| 207 | // delete missing |
| 208 | err = client.DeleteWorkspaceAgentPortShare(ctx, r.Workspace.ID, codersdk.DeleteWorkspaceAgentPortShareRequest{ |
| 209 | AgentName: agents[0].Name, |
| 210 | Port: 8080, |
| 211 | }) |
| 212 | require.Error(t, err) |
| 213 | |
| 214 | _, err = db.GetWorkspaceAgentPortShare(dbauthz.As(ctx, coderdtest.AuthzUserSubjectWithDB(ctx, t, db, user)), database.GetWorkspaceAgentPortShareParams{ |
| 215 | WorkspaceID: r.Workspace.ID, |
| 216 | AgentName: agents[0].Name, |
| 217 | Port: 8080, |
| 218 | }) |
| 219 | require.Error(t, err) |
| 220 | } |
nothing calls this directly
no test coverage detected