@@ -43,7 +43,7 @@ func newTestCollector() *Collector {
4343 }
4444}
4545
46- func TestCollectorWithRunningBuilds (t * testing.T ) {
46+ func TestCollectorWithRunningBuildsForAllQueues (t * testing.T ) {
4747 c := newTestCollector ()
4848
4949 res , err := c .Collect ()
@@ -103,6 +103,82 @@ func TestCollectorWithRunningBuilds(t *testing.T) {
103103 {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], IdleAgentCount , 0 },
104104 }
105105
106+ for queue , _ := range res .Queues {
107+ switch queue {
108+ case "default" , "deploy" :
109+ continue
110+ default :
111+ t .Fatalf ("Unexpected queue %s" , queue )
112+ }
113+ }
114+
115+ for _ , tc := range testCases {
116+ t .Run (fmt .Sprintf ("%s/%s" , tc .Group , tc .Key ), func (t * testing.T ) {
117+ if tc .Counts [tc .Key ] != tc .Expected {
118+ t .Fatalf ("%s was %d; want %d" , tc .Key , tc .Counts [tc .Key ], tc .Expected )
119+ }
120+ })
121+ }
122+ }
123+
124+ func TestCollectorWithRunningBuildsForASingleQueue (t * testing.T ) {
125+ c := newTestCollector ()
126+ c .Queue = "default"
127+
128+ res , err := c .Collect ()
129+ if err != nil {
130+ t .Fatal (err )
131+ }
132+
133+ testCases := []struct {
134+ Group string
135+ Counts map [string ]int
136+ Key string
137+ Expected int
138+ }{
139+ {"Totals" , res .Totals , RunningBuildsCount , 1 },
140+ {"Totals" , res .Totals , ScheduledBuildsCount , 1 },
141+ {"Totals" , res .Totals , RunningJobsCount , 1 },
142+ {"Totals" , res .Totals , ScheduledJobsCount , 1 },
143+ {"Totals" , res .Totals , UnfinishedJobsCount , 2 },
144+ {"Totals" , res .Totals , TotalAgentCount , 1 },
145+ {"Totals" , res .Totals , BusyAgentCount , 1 },
146+ {"Totals" , res .Totals , IdleAgentCount , 0 },
147+
148+ {"Queue.default" , res .Queues ["default" ], RunningBuildsCount , 1 },
149+ {"Queue.default" , res .Queues ["default" ], ScheduledBuildsCount , 1 },
150+ {"Queue.default" , res .Queues ["default" ], RunningJobsCount , 1 },
151+ {"Queue.default" , res .Queues ["default" ], ScheduledJobsCount , 1 },
152+ {"Queue.default" , res .Queues ["default" ], UnfinishedJobsCount , 2 },
153+ {"Queue.default" , res .Queues ["default" ], TotalAgentCount , 1 },
154+ {"Queue.default" , res .Queues ["default" ], BusyAgentCount , 1 },
155+ {"Queue.default" , res .Queues ["default" ], IdleAgentCount , 0 },
156+
157+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], RunningBuildsCount , 1 },
158+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], ScheduledBuildsCount , 0 },
159+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], RunningJobsCount , 1 },
160+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], ScheduledJobsCount , 0 },
161+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], UnfinishedJobsCount , 1 },
162+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], TotalAgentCount , 0 },
163+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], BusyAgentCount , 0 },
164+ {"Pipeline.llamas" , res .Pipelines ["llamas" ], IdleAgentCount , 0 },
165+
166+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], RunningBuildsCount , 0 },
167+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], ScheduledBuildsCount , 1 },
168+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], RunningJobsCount , 0 },
169+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], ScheduledJobsCount , 1 },
170+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], UnfinishedJobsCount , 1 },
171+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], TotalAgentCount , 0 },
172+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], BusyAgentCount , 0 },
173+ {"Pipeline.alpacas" , res .Pipelines ["alpacas" ], IdleAgentCount , 0 },
174+ }
175+
176+ for queue , _ := range res .Queues {
177+ if queue != "default" {
178+ t .Fatalf ("Unexpected queue %s" , queue )
179+ }
180+ }
181+
106182 for _ , tc := range testCases {
107183 t .Run (fmt .Sprintf ("%s/%s" , tc .Group , tc .Key ), func (t * testing.T ) {
108184 if tc .Counts [tc .Key ] != tc .Expected {
0 commit comments