@@ -1431,6 +1431,41 @@ def common_get_enable_fips_image(self):
14311431 # Update takes directly from flag value not from agentpool property
14321432 self .assertEqual (ctx_2 .get_enable_fips_image (), False )
14331433
1434+ def common_get_enable_fips_image_windows2025 (self ):
1435+ cases = [
1436+ (DecoratorMode .CREATE , {"os_sku" : CONST_OS_SKU_WINDOWS2025 }, True ),
1437+ (DecoratorMode .CREATE , {"os_sku" : CONST_OS_SKU_WINDOWS2025 , "enable_fips_image" : True }, True ),
1438+ (DecoratorMode .CREATE , {"os_sku" : CONST_OS_SKU_WINDOWS2022 }, False ),
1439+ (DecoratorMode .CREATE , {"os_sku" : "Ubuntu" }, False ),
1440+ (DecoratorMode .CREATE , {"os_sku" : "Ubuntu" , "enable_fips_image" : True }, True ),
1441+ (DecoratorMode .UPDATE , {"os_sku" : CONST_OS_SKU_WINDOWS2025 }, False ),
1442+ (DecoratorMode .UPDATE , {"os_sku" : CONST_OS_SKU_WINDOWS2025 , "enable_fips_image" : True }, True ),
1443+ ]
1444+ for decorator_mode , raw_parameters , expected in cases :
1445+ with self .subTest (decorator_mode = decorator_mode , raw_parameters = raw_parameters ):
1446+ ctx = AKSAgentPoolContext (
1447+ self .cmd ,
1448+ AKSAgentPoolParamDict (raw_parameters ),
1449+ self .models ,
1450+ decorator_mode ,
1451+ self .agentpool_decorator_mode ,
1452+ )
1453+ self .assertEqual (ctx .get_enable_fips_image (), expected )
1454+ ctx .attach_agentpool (
1455+ self .create_initialized_agentpool_instance (os_sku = raw_parameters ["os_sku" ])
1456+ )
1457+ self .assertEqual (ctx .get_enable_fips_image (), expected )
1458+
1459+ ctx = AKSAgentPoolContext (
1460+ self .cmd ,
1461+ AKSAgentPoolParamDict ({"os_sku" : CONST_OS_SKU_WINDOWS2025 , "disable_fips_image" : True }),
1462+ self .models ,
1463+ DecoratorMode .CREATE ,
1464+ self .agentpool_decorator_mode ,
1465+ )
1466+ with self .assertRaisesRegex (ArgumentUsageError , "Windows2025" ):
1467+ ctx .get_enable_fips_image ()
1468+
14341469 def common_get_disable_fips_image (self ):
14351470 # default
14361471 ctx_1 = AKSAgentPoolContext (
@@ -2108,6 +2143,9 @@ def test_get_enable_ultra_ssd(self):
21082143 def test_get_enable_fips_image (self ):
21092144 self .common_get_enable_fips_image ()
21102145
2146+ def test_get_enable_fips_image_windows2025 (self ):
2147+ self .common_get_enable_fips_image_windows2025 ()
2148+
21112149 def test_get_disable_fips_image (self ):
21122150 self .common_get_disable_fips_image ()
21132151
@@ -2319,6 +2357,9 @@ def test_get_enable_ultra_ssd(self):
23192357 def test_get_enable_fips_image (self ):
23202358 self .common_get_enable_fips_image ()
23212359
2360+ def test_get_enable_fips_image_windows2025 (self ):
2361+ self .common_get_enable_fips_image_windows2025 ()
2362+
23222363 def test_get_enable_artifact_streaming (self ):
23232364 self .common_get_enable_artifact_streaming ()
23242365
@@ -4093,6 +4134,53 @@ def test_update_agentpool(self):
40934134 headers = {},
40944135 )
40954136
4137+ def test_update_agentpool_windows2025 (self ):
4138+ for current_fips , enable_fips_image , expected_fips in [
4139+ (False , True , True ),
4140+ (True , False , True ),
4141+ (False , False , False ),
4142+ ]:
4143+ with self .subTest (current_fips = current_fips , enable_fips_image = enable_fips_image ):
4144+ dec = AKSAgentPoolUpdateDecorator (
4145+ self .cmd ,
4146+ self .client ,
4147+ {
4148+ "resource_group_name" : "test_rg_name" ,
4149+ "cluster_name" : "test_cluster_name" ,
4150+ "nodepool_name" : "test_nodepool_name" ,
4151+ "os_sku" : CONST_OS_SKU_WINDOWS2025 ,
4152+ "enable_fips_image" : enable_fips_image ,
4153+ },
4154+ self .resource_type ,
4155+ self .agentpool_decorator_mode ,
4156+ )
4157+ self .client .get = Mock (
4158+ return_value = self .create_initialized_agentpool_instance (
4159+ nodepool_name = "test_nodepool_name" ,
4160+ os_type = "Windows" ,
4161+ os_sku = CONST_OS_SKU_WINDOWS2022 ,
4162+ enable_fips = current_fips ,
4163+ )
4164+ )
4165+ with patch (
4166+ "azure.cli.command_modules.acs.agentpool_decorator.cf_agent_pools" ,
4167+ return_value = Mock (list = Mock (return_value = [])),
4168+ ):
4169+ agentpool = dec .update_agentpool_profile_default ()
4170+ self .assertEqual (agentpool .os_sku , CONST_OS_SKU_WINDOWS2025 )
4171+ self .assertEqual (agentpool .enable_fips , expected_fips )
4172+ with patch ("azure.cli.command_modules.acs.agentpool_decorator.sdk_no_wait" ) as put_agentpool :
4173+ dec .update_agentpool (agentpool )
4174+ put_agentpool .assert_called_once_with (
4175+ False ,
4176+ self .client .begin_create_or_update ,
4177+ "test_rg_name" ,
4178+ "test_cluster_name" ,
4179+ "test_nodepool_name" ,
4180+ agentpool ,
4181+ headers = {},
4182+ )
4183+
40964184 def test_update_localdns_profile (self ):
40974185 self .common_update_localdns_profile ()
40984186
0 commit comments