From 94e28add34343004b53622dbb1e3292e21da9325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Jendrysik?= Date: Thu, 30 Jul 2026 11:21:41 +0200 Subject: [PATCH] fix: decode queue dispatch pause state --- scheduled_jobs.go | 2 +- scheduled_jobs_test.go | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/scheduled_jobs.go b/scheduled_jobs.go index 64040f6..108ea50 100644 --- a/scheduled_jobs.go +++ b/scheduled_jobs.go @@ -39,7 +39,7 @@ type ScheduledJob struct { // ClusterQueue represents a cluster queue in the Buildkite Stacks system. type ClusterQueue struct { ID string `json:"id"` - Paused bool `json:"paused"` + Paused bool `json:"dispatch_paused"` } // PageInfo contains information about pagination in a list response. diff --git a/scheduled_jobs_test.go b/scheduled_jobs_test.go index 68898c2..e1bc59b 100644 --- a/scheduled_jobs_test.go +++ b/scheduled_jobs_test.go @@ -20,6 +20,32 @@ var listResp = &ListScheduledJobsResponse{ func TestListScheduledJobs(t *testing.T) { t.Parallel() + t.Run("decodes dispatch-paused queue state", func(t *testing.T) { + t.Parallel() + + server, client := setupTestServer(t, func(w http.ResponseWriter, r *http.Request) { + verifyAuthMethodPath(t, r, "GET", "/stacks/stack-123/scheduled-jobs") + w.Header().Set("Content-Type", "application/json") + _, _ = w.Write([]byte(`{ + "jobs": [], + "cluster_queue": {"id": "queue-456", "dispatch_paused": true}, + "page_info": {"has_next_page": false, "end_cursor": ""} + }`)) + }) + t.Cleanup(server.Close) + + resp, _, err := client.ListScheduledJobs(t.Context(), ListScheduledJobsRequest{ + StackKey: "stack-123", + ClusterQueueKey: "queue-456", + }) + if err != nil { + t.Fatalf("client.ListScheduledJobs error = %v, expected nil", err) + } + if !resp.ClusterQueue.Paused { + t.Error("ClusterQueue.Paused = false, want true") + } + }) + t.Run("encodes filled query params correctly", func(t *testing.T) { t.Parallel()