From 0a3f712b4d0bc492532046dd12a665c187d5305e Mon Sep 17 00:00:00 2001 From: Jason Morrow Date: Mon, 16 Feb 2026 08:16:27 -0500 Subject: [PATCH] Add queueu to RunnerRegister --- job.go | 9 +++++++-- job_test.go | 20 ++++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/job.go b/job.go index f740ce9a..ae129287 100644 --- a/job.go +++ b/job.go @@ -124,14 +124,19 @@ type RunnerScale struct { RecommendedReplicaCount int `json:"recommendedReplicaCount"` } -func (client *Client) RunnerRegister() (*Runner, error) { +func (client *Client) RunnerRegister(queue ...string) (*Runner, error) { var m struct { Payload struct { Runner Runner Errors []Error - } `graphql:"runnerRegister"` + } `graphql:"runnerRegister(queue: $queue)"` } v := PayloadVariables{} + if len(queue) > 0 { + v["queue"] = &queue[0] + } else { + v["queue"] = (*string)(nil) + } err := client.Mutate(&m, v, WithName("RunnerRegister")) return &m.Payload.Runner, HandleErrors(err, m.Payload.Errors) } diff --git a/job_test.go b/job_test.go index ff5c063a..c75d04f3 100644 --- a/job_test.go +++ b/job_test.go @@ -10,8 +10,8 @@ import ( func TestRunnerRegister(t *testing.T) { // Arrange testRequest := autopilot.NewTestRequest( - `mutation RunnerRegister{runnerRegister{runner{id,status},errors{message,path}}}`, - `{}`, + `mutation RunnerRegister($queue:String){runnerRegister(queue: $queue){runner{id,status},errors{message,path}}}`, + `{"queue": null}`, `{"data": {"runnerRegister": { "runner": { "id": "1234", "status": "registered" }, "errors": [] }}}`, ) @@ -23,6 +23,22 @@ func TestRunnerRegister(t *testing.T) { autopilot.Equals(t, ol.ID("1234"), result.Id) } +func TestRunnerRegisterWithQueue(t *testing.T) { + // Arrange + testRequest := autopilot.NewTestRequest( + `mutation RunnerRegister($queue:String){runnerRegister(queue: $queue){runner{id,status},errors{message,path}}}`, + `{"queue": "my-queue"}`, + `{"data": {"runnerRegister": { "runner": { "id": "1234", "status": "registered" }, "errors": [] }}}`, + ) + + client := BestTestClient(t, "job/register_with_queue", testRequest) + // Act + result, err := client.RunnerRegister("my-queue") + // Assert + autopilot.Ok(t, err) + autopilot.Equals(t, ol.ID("1234"), result.Id) +} + func TestRunnerGetScale(t *testing.T) { // Arrange testRequest := autopilot.NewTestRequest(