| 2607 | } |
| 2608 | |
| 2609 | func TestReportTaskNilPointerDeref(t *testing.T) { |
| 2610 | t.Parallel() |
| 2611 | |
| 2612 | // Create deps without a task reporter (simulating remote MCP server scenario) |
| 2613 | client, _ := coderdtest.NewWithDatabase(t, nil) |
| 2614 | deps, err := toolsdk.NewDeps(client) |
| 2615 | require.NoError(t, err) |
| 2616 | |
| 2617 | // Prepare test arguments |
| 2618 | args := toolsdk.ReportTaskArgs{ |
| 2619 | Summary: "Test task", |
| 2620 | Link: "https://example.com", |
| 2621 | State: string(codersdk.WorkspaceAppStatusStateWorking), |
| 2622 | } |
| 2623 | |
| 2624 | _, err = toolsdk.ReportTask.Handler(t.Context(), deps, args) |
| 2625 | |
| 2626 | // We expect an error, not a panic |
| 2627 | require.Error(t, err) |
| 2628 | require.Contains(t, err.Error(), "task reporting not available") |
| 2629 | } |
| 2630 | |
| 2631 | func TestReportTaskWithReporter(t *testing.T) { |
| 2632 | t.Parallel() |