@@ -4579,7 +4579,7 @@ def test_get_disable_gateway_api(self):
45794579
45804580 def test_get_enable_high_log_scale_mode_default(self):
45814581 """Test default behavior when no container network logs or high log scale mode is specified.
4582-
4582+
45834583 When enable_high_log_scale_mode is not explicitly set and container network logs are not enabled,
45844584 the method should return False (not None) to maintain backward compatibility with the base class.
45854585 """
@@ -4940,6 +4940,67 @@ def test_get_container_network_logs_legacy_retina_flow_logs_param(self):
49404940 result = ctx.get_container_network_logs(mc)
49414941 self.assertTrue(result)
49424942
4943+ def test_get_enable_default_domain(self):
4944+ # default value
4945+ ctx_1 = AKSPreviewManagedClusterContext(
4946+ self.cmd,
4947+ AKSManagedClusterParamDict({}),
4948+ self.models,
4949+ decorator_mode=DecoratorMode.CREATE,
4950+ )
4951+ enable_default_domain_1 = ctx_1.get_enable_default_domain()
4952+ self.assertEqual(enable_default_domain_1, None)
4953+
4954+ # custom value - True
4955+ ctx_2 = AKSPreviewManagedClusterContext(
4956+ self.cmd,
4957+ AKSManagedClusterParamDict({"enable_default_domain": True}),
4958+ self.models,
4959+ decorator_mode=DecoratorMode.CREATE,
4960+ )
4961+ enable_default_domain_2 = ctx_2.get_enable_default_domain()
4962+ self.assertEqual(enable_default_domain_2, True)
4963+
4964+ # custom value - False
4965+ ctx_3 = AKSPreviewManagedClusterContext(
4966+ self.cmd,
4967+ AKSManagedClusterParamDict({"enable_default_domain": False}),
4968+ self.models,
4969+ decorator_mode=DecoratorMode.CREATE,
4970+ )
4971+ enable_default_domain_3 = ctx_3.get_enable_default_domain()
4972+ self.assertEqual(enable_default_domain_3, False)
4973+
4974+ def test_get_disable_default_domain(self):
4975+ # default value
4976+ ctx_1 = AKSPreviewManagedClusterContext(
4977+ self.cmd,
4978+ AKSManagedClusterParamDict({}),
4979+ self.models,
4980+ decorator_mode=DecoratorMode.UPDATE,
4981+ )
4982+ disable_default_domain_1 = ctx_1.get_disable_default_domain()
4983+ self.assertEqual(disable_default_domain_1, None)
4984+
4985+ # custom value - True
4986+ ctx_2 = AKSPreviewManagedClusterContext(
4987+ self.cmd,
4988+ AKSManagedClusterParamDict({"disable_default_domain": True}),
4989+ self.models,
4990+ decorator_mode=DecoratorMode.UPDATE,
4991+ )
4992+ disable_default_domain_2 = ctx_2.get_disable_default_domain()
4993+ self.assertEqual(disable_default_domain_2, True)
4994+
4995+ # custom value - False
4996+ ctx_3 = AKSPreviewManagedClusterContext(
4997+ self.cmd,
4998+ AKSManagedClusterParamDict({"disable_default_domain": False}),
4999+ self.models,
5000+ decorator_mode=DecoratorMode.UPDATE,
5001+ )
5002+ disable_default_domain_3 = ctx_3.get_disable_default_domain()
5003+ self.assertEqual(disable_default_domain_3, False)
49435004
49445005class AKSPreviewManagedClusterCreateDecoratorTestCase(unittest.TestCase):
49455006 def setUp(self):
@@ -6052,6 +6113,56 @@ def test_set_up_ingress_web_app_routing(self):
60526113 )
60536114 self.assertEqual(dec_mc_1, ground_truth_mc_1)
60546115
6116+ # enable_default_domain
6117+ dec_2 = AKSPreviewManagedClusterCreateDecorator(
6118+ self.cmd,
6119+ self.client,
6120+ {
6121+ "enable_default_domain": True,
6122+ },
6123+ CUSTOM_MGMT_AKS_PREVIEW,
6124+ )
6125+ mc_2 = self.models.ManagedCluster(location="test_location")
6126+ dec_2.context.attach_mc(mc_2)
6127+ dec_mc_2 = dec_2.set_up_ingress_web_app_routing(mc_2)
6128+ ground_truth_ingress_profile_2 = self.models.ManagedClusterIngressProfile(
6129+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
6130+ enabled=True,
6131+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
6132+ enabled=True
6133+ )
6134+ )
6135+ )
6136+ ground_truth_mc_2 = self.models.ManagedCluster(
6137+ location="test_location", ingress_profile=ground_truth_ingress_profile_2
6138+ )
6139+ self.assertEqual(dec_mc_2, ground_truth_mc_2)
6140+
6141+ # disable_default_domain
6142+ dec_3 = AKSPreviewManagedClusterCreateDecorator(
6143+ self.cmd,
6144+ self.client,
6145+ {
6146+ "disable_default_domain": True,
6147+ },
6148+ CUSTOM_MGMT_AKS_PREVIEW,
6149+ )
6150+ mc_3 = self.models.ManagedCluster(location="test_location")
6151+ dec_3.context.attach_mc(mc_3)
6152+ dec_mc_3 = dec_3.set_up_ingress_web_app_routing(mc_3)
6153+ ground_truth_ingress_profile_3 = self.models.ManagedClusterIngressProfile(
6154+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
6155+ enabled=True,
6156+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
6157+ enabled=False
6158+ )
6159+ )
6160+ )
6161+ ground_truth_mc_3 = self.models.ManagedCluster(
6162+ location="test_location", ingress_profile=ground_truth_ingress_profile_3
6163+ )
6164+ self.assertEqual(dec_mc_3, ground_truth_mc_3)
6165+
60556166 def test_set_up_ingress_profile_gateway_api(self):
60566167 # Test with enable_gateway_api parameter
60576168 dec_1 = AKSPreviewManagedClusterCreateDecorator(
@@ -11317,6 +11428,88 @@ def test_update_app_routing_profile(self):
1131711428 )
1131811429 self.assertEqual(dec_mc_9, ground_truth_mc_9)
1131911430
11431+ # enable default domain
11432+ dec_10 = AKSPreviewManagedClusterUpdateDecorator(
11433+ self.cmd,
11434+ self.client,
11435+ {"enable_default_domain": True},
11436+ CUSTOM_MGMT_AKS_PREVIEW,
11437+ )
11438+ mc_10 = self.models.ManagedCluster(
11439+ location="test_location",
11440+ ingress_profile=self.models.ManagedClusterIngressProfile(
11441+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11442+ enabled=True,
11443+ )
11444+ ),
11445+ )
11446+ dec_10.context.attach_mc(mc_10)
11447+ dec_mc_10 = dec_10.update_app_routing_profile(mc_10)
11448+ ground_truth_mc_10 = self.models.ManagedCluster(
11449+ location="test_location",
11450+ ingress_profile=self.models.ManagedClusterIngressProfile(
11451+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11452+ enabled=True,
11453+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
11454+ enabled=True
11455+ )
11456+ )
11457+ ),
11458+ )
11459+ self.assertEqual(dec_mc_10, ground_truth_mc_10)
11460+
11461+ # disable default domain
11462+ dec_11 = AKSPreviewManagedClusterUpdateDecorator(
11463+ self.cmd,
11464+ self.client,
11465+ {"disable_default_domain": True},
11466+ CUSTOM_MGMT_AKS_PREVIEW,
11467+ )
11468+ mc_11 = self.models.ManagedCluster(
11469+ location="test_location",
11470+ ingress_profile=self.models.ManagedClusterIngressProfile(
11471+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11472+ enabled=True,
11473+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
11474+ enabled=True
11475+ )
11476+ )
11477+ ),
11478+ )
11479+ dec_11.context.attach_mc(mc_11)
11480+ dec_mc_11 = dec_11.update_app_routing_profile(mc_11)
11481+ ground_truth_mc_11 = self.models.ManagedCluster(
11482+ location="test_location",
11483+ ingress_profile=self.models.ManagedClusterIngressProfile(
11484+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11485+ enabled=True,
11486+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
11487+ enabled=False
11488+ )
11489+ )
11490+ ),
11491+ )
11492+ self.assertEqual(dec_mc_11, ground_truth_mc_11)
11493+
11494+ # enable default domain should fail when app routing is not enabled
11495+ dec_12 = AKSPreviewManagedClusterUpdateDecorator(
11496+ self.cmd,
11497+ self.client,
11498+ {"enable_default_domain": True},
11499+ CUSTOM_MGMT_AKS_PREVIEW,
11500+ )
11501+ mc_12 = self.models.ManagedCluster(
11502+ location="test_location",
11503+ ingress_profile=self.models.ManagedClusterIngressProfile(
11504+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11505+ enabled=False,
11506+ )
11507+ ),
11508+ )
11509+ dec_12.context.attach_mc(mc_12)
11510+ with self.assertRaises(CLIError):
11511+ dec_12.update_app_routing_profile(mc_12)
11512+
1132011513 def test_enable_disable_ai_toolchain_operator(self):
1132111514 # Should not update mc if unset
1132211515 dec_0 = AKSPreviewManagedClusterUpdateDecorator(
0 commit comments