diff --git a/pkg/cmd/codespace/ports.go b/pkg/cmd/codespace/ports.go index 181f44b79..8d90643fd 100644 --- a/pkg/cmd/codespace/ports.go +++ b/pkg/cmd/codespace/ports.go @@ -285,7 +285,7 @@ func (a *App) UpdatePortVisibility(ctx context.Context, codespaceName string, ar ctx, cancel := context.WithTimeout(ctx, 30*time.Second) defer cancel() - go func() { + go func(port portVisibility) { updateNotif, err := session.WaitForPortNotification(ctx, port.number, liveshare.PortChangeKindUpdate) if err != nil { errc <- fmt.Errorf("error waiting for port %d to update: %w", port.number, err) @@ -300,7 +300,7 @@ func (a *App) UpdatePortVisibility(ctx context.Context, codespaceName string, ar return } errc <- nil // success - }() + }(port) err := session.UpdateSharedServerPrivacy(ctx, port.number, port.visibility) if err != nil { diff --git a/pkg/cmd/codespace/ports_test.go b/pkg/cmd/codespace/ports_test.go index dc858454e..1cbf50103 100644 --- a/pkg/cmd/codespace/ports_test.go +++ b/pkg/cmd/codespace/ports_test.go @@ -48,7 +48,7 @@ func TestPortsUpdateVisibilitySuccess(t *testing.T) { }, } - err := runUpdateVisibilityTest(portVisibilities, eventResponses, portsData) + err := runUpdateVisibilityTest(t, portVisibilities, eventResponses, portsData) if err != nil { t.Errorf("unexpected error: %v", err) @@ -91,7 +91,7 @@ func TestPortsUpdateVisibilityFailure403(t *testing.T) { }, } - err := runUpdateVisibilityTest(portVisibilities, eventResponses, portsData) + err := runUpdateVisibilityTest(t, portVisibilities, eventResponses, portsData) if err == nil { t.Errorf("unexpected error: %v", err) } @@ -136,7 +136,7 @@ func TestPortsUpdateVisibilityFailure(t *testing.T) { }, } - err := runUpdateVisibilityTest(portVisibilities, eventResponses, portsData) + err := runUpdateVisibilityTest(t, portVisibilities, eventResponses, portsData) if err == nil { t.Errorf("unexpected error: %v", err) } @@ -151,7 +151,9 @@ type joinWorkspaceResult struct { SessionNumber int `json:"sessionNumber"` } -func runUpdateVisibilityTest(portVisibilities []portVisibility, eventResponses []string, portsData []liveshare.PortNotification) error { +func runUpdateVisibilityTest(t *testing.T, portVisibilities []portVisibility, eventResponses []string, portsData []liveshare.PortNotification) error { + t.Helper() + joinWorkspace := func(req *jsonrpc2.Request) (interface{}, error) { return joinWorkspaceResult{1}, nil }