@@ -38,19 +38,35 @@ previous_last_job = nothing
38
38
products = unique (image. product for image in allimages)
39
39
@test ! isempty (products)
40
40
@test " standard-batch" in products
41
+ n_single_default_image_tests = 0
41
42
for product in products
42
43
nimages_for_product = sum (image. product == product for image in allimages)
43
44
@test nimages_for_product > 0
44
45
images = JuliaHub. batchimages (product; auth)
45
46
@test length (images) == nimages_for_product
46
47
# Test default image for a product
47
- image = JuliaHub. batchimage (product; auth)
48
- @test image. product == product
49
- product_default_image = only (
50
- filter (i -> i. product == product && i. _is_product_default, allimages)
51
- )
52
- @test image. image == product_default_image. image
48
+ default_images = filter (i -> i. product == product && i. _is_product_default, allimages)
49
+ @test length (default_images) > 0 # this assumes that every image has a default image
50
+ if length (default_images) == 1
51
+ image = JuliaHub. batchimage (product; auth)
52
+ @test image. product == product
53
+ product_default_image = only (
54
+ filter (i -> i. product == product && i. _is_product_default, allimages)
55
+ )
56
+ @test image. image == product_default_image. image
57
+ # We want to make sure that this branch gets tested, and having multiple default
58
+ # images for several products is a major configuration problem, so we'd expect that
59
+ # at least a few products are configured correctly.
60
+ n_single_default_image_tests += 1
61
+ else
62
+ # It can happen that a product declares multiple default images. That's likely a
63
+ # configuration error, but we don't want the tests to fail because of it.
64
+ # And, in fact, it allows us to sorta test the error handling here.
65
+ @warn " Multiple default images for product: $(product) " default_images
66
+ @test_throws Exception JuliaHub. batchimage (product; auth)
67
+ end
53
68
end
69
+ @test n_single_default_image_tests > 0
54
70
let default_image = JuliaHub. batchimage (; auth)
55
71
standard_default_image = only (
56
72
filter (i -> i. product == " standard-batch" && i. _is_product_default, allimages)
0 commit comments