Skip to content

Commit be80b4a

Browse files
Add queue to RunnerRegister (#607)
1 parent 29d22a9 commit be80b4a

2 files changed

Lines changed: 25 additions & 4 deletions

File tree

job.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,19 @@ type RunnerScale struct {
124124
RecommendedReplicaCount int `json:"recommendedReplicaCount"`
125125
}
126126

127-
func (client *Client) RunnerRegister() (*Runner, error) {
127+
func (client *Client) RunnerRegister(queue ...string) (*Runner, error) {
128128
var m struct {
129129
Payload struct {
130130
Runner Runner
131131
Errors []Error
132-
} `graphql:"runnerRegister"`
132+
} `graphql:"runnerRegister(queue: $queue)"`
133133
}
134134
v := PayloadVariables{}
135+
if len(queue) > 0 {
136+
v["queue"] = &queue[0]
137+
} else {
138+
v["queue"] = (*string)(nil)
139+
}
135140
err := client.Mutate(&m, v, WithName("RunnerRegister"))
136141
return &m.Payload.Runner, HandleErrors(err, m.Payload.Errors)
137142
}

job_test.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
func TestRunnerRegister(t *testing.T) {
1111
// Arrange
1212
testRequest := autopilot.NewTestRequest(
13-
`mutation RunnerRegister{runnerRegister{runner{id,status},errors{message,path}}}`,
14-
`{}`,
13+
`mutation RunnerRegister($queue:String){runnerRegister(queue: $queue){runner{id,status},errors{message,path}}}`,
14+
`{"queue": null}`,
1515
`{"data": {"runnerRegister": { "runner": { "id": "1234", "status": "registered" }, "errors": [] }}}`,
1616
)
1717

@@ -23,6 +23,22 @@ func TestRunnerRegister(t *testing.T) {
2323
autopilot.Equals(t, ol.ID("1234"), result.Id)
2424
}
2525

26+
func TestRunnerRegisterWithQueue(t *testing.T) {
27+
// Arrange
28+
testRequest := autopilot.NewTestRequest(
29+
`mutation RunnerRegister($queue:String){runnerRegister(queue: $queue){runner{id,status},errors{message,path}}}`,
30+
`{"queue": "my-queue"}`,
31+
`{"data": {"runnerRegister": { "runner": { "id": "1234", "status": "registered" }, "errors": [] }}}`,
32+
)
33+
34+
client := BestTestClient(t, "job/register_with_queue", testRequest)
35+
// Act
36+
result, err := client.RunnerRegister("my-queue")
37+
// Assert
38+
autopilot.Ok(t, err)
39+
autopilot.Equals(t, ol.ID("1234"), result.Id)
40+
}
41+
2642
func TestRunnerGetScale(t *testing.T) {
2743
// Arrange
2844
testRequest := autopilot.NewTestRequest(

0 commit comments

Comments
 (0)