@@ -2334,6 +2334,60 @@ func TestGetProvisionerJobsByIDsWithQueuePosition(t *testing.T) {
2334
2334
1 : {},
2335
2335
},
2336
2336
},
2337
+ // N jobs (1 job with 0 tags) & 0 provisioners exist
2338
+ {
2339
+ name : "test-case-9" ,
2340
+ jobTags : []database.StringMap {
2341
+ {},
2342
+ {"a" : "1" },
2343
+ {"b" : "2" },
2344
+ },
2345
+ daemonTags : []database.StringMap {},
2346
+ queueSizes : []int64 {0 , 0 , 0 },
2347
+ queuePositions : []int64 {0 , 0 , 0 },
2348
+ },
2349
+ // N jobs (1 job with 0 tags) & N provisioners
2350
+ {
2351
+ name : "test-case-10" ,
2352
+ jobTags : []database.StringMap {
2353
+ {},
2354
+ {"a" : "1" },
2355
+ {"b" : "2" },
2356
+ },
2357
+ daemonTags : []database.StringMap {
2358
+ {},
2359
+ {"a" : "1" },
2360
+ {"b" : "2" },
2361
+ },
2362
+ queueSizes : []int64 {2 , 2 , 2 },
2363
+ queuePositions : []int64 {1 , 2 , 2 },
2364
+ },
2365
+ // (N + 1) jobs (1 job with 0 tags) & N provisioners
2366
+ // 1 job not matching any provisioner (first in the list)
2367
+ {
2368
+ name : "test-case-11" ,
2369
+ jobTags : []database.StringMap {
2370
+ {"c" : "3" },
2371
+ {},
2372
+ {"a" : "1" },
2373
+ {"b" : "2" },
2374
+ },
2375
+ daemonTags : []database.StringMap {
2376
+ {},
2377
+ {"a" : "1" },
2378
+ {"b" : "2" },
2379
+ },
2380
+ queueSizes : []int64 {0 , 2 , 2 , 2 },
2381
+ queuePositions : []int64 {0 , 1 , 2 , 2 },
2382
+ },
2383
+ // 0 jobs & 0 provisioners
2384
+ {
2385
+ name : "test-case-12" ,
2386
+ jobTags : []database.StringMap {},
2387
+ daemonTags : []database.StringMap {},
2388
+ queueSizes : nil , // TODO(yevhenii): should it be empty array instead?
2389
+ queuePositions : nil ,
2390
+ },
2337
2391
}
2338
2392
2339
2393
for _ , tc := range testCases {
0 commit comments