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

Function TestDeleteWorkspaceAgentPortShare

coderd/workspaceagentportshare_test.go:170–220  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

168}
169
170func 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}

Callers

nothing calls this directly

Calls 14

NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
WorkspaceBuildFunction · 0.92
AsFunction · 0.92
AuthzUserSubjectWithDBFunction · 0.92
WithAgentMethod · 0.80
TempDirMethod · 0.65
DoMethod · 0.65

Tested by

no test coverage detected