@@ -379,7 +379,7 @@ def test_update_existing_skus_x86_gen1_default(
379379 assert res == [
380380 VMISku .from_json (x )
381381 for x in [
382- {"imageType" : "x64Gen1" , "skuId" : "plan1" , "securityType" : [ "trusted" ] },
382+ {"imageType" : "x64Gen1" , "skuId" : "plan1" },
383383 {"imageType" : "x64Gen2" , "skuId" : "plan1-gen2" , "securityType" : ["trusted" ]},
384384 ]
385385 ]
@@ -426,6 +426,40 @@ def test_update_existing_skus_x86_gen2_single(
426426 ]
427427 ]
428428
429+ def test_update_existing_skus_mixed_arches (
430+ self , gen1_image : Dict [str , Any ], gen2_image : Dict [str , Any ], arm_image : Dict [str , Any ]
431+ ) -> None :
432+ """Ensure the SKUs are properly made for disk versions using x86 and ARM arches."""
433+ disk_versions = [
434+ DiskVersion .from_json (
435+ {
436+ "versionNumber" : "2.0.0" ,
437+ "vmImages" : [gen1_image , gen2_image , arm_image ],
438+ "lifecycleState" : "generallyAvailable" ,
439+ }
440+ )
441+ ]
442+ skus = [
443+ VMISku .from_json (
444+ {"imageType" : "x64Gen2" , "skuId" : "plan1" , "securityType" : ["trusted" ]}
445+ )
446+ ]
447+ res = update_skus (
448+ disk_versions = disk_versions ,
449+ generation = "V2" ,
450+ plan_name = "plan1" ,
451+ old_skus = skus ,
452+ )
453+
454+ assert res == [
455+ VMISku .from_json (x )
456+ for x in [
457+ {"imageType" : "x64Gen2" , "skuId" : "plan1" , "securityType" : ["trusted" ]},
458+ {"imageType" : "arm64Gen2" , "skuId" : "plan1-arm64" },
459+ {"imageType" : "x64Gen1" , "skuId" : "plan1-gen1" },
460+ ]
461+ ]
462+
429463 @pytest .mark .parametrize ("generation" , ["V1" , "V2" ])
430464 def test_update_existing_skus_arm64_single (
431465 self ,
0 commit comments