@@ -4577,6 +4577,68 @@ def test_get_disable_gateway_api(self):
45774577 disable_gateway_api_3 = ctx_3.get_disable_gateway_api()
45784578 self.assertEqual(disable_gateway_api_3, False)
45794579
4580+ def test_get_enable_default_domain(self):
4581+ # default value
4582+ ctx_1 = AKSPreviewManagedClusterContext(
4583+ self.cmd,
4584+ AKSManagedClusterParamDict({}),
4585+ self.models,
4586+ decorator_mode=DecoratorMode.CREATE,
4587+ )
4588+ enable_default_domain_1 = ctx_1.get_enable_default_domain()
4589+ self.assertEqual(enable_default_domain_1, None)
4590+
4591+ # custom value - True
4592+ ctx_2 = AKSPreviewManagedClusterContext(
4593+ self.cmd,
4594+ AKSManagedClusterParamDict({"enable_default_domain": True}),
4595+ self.models,
4596+ decorator_mode=DecoratorMode.CREATE,
4597+ )
4598+ enable_default_domain_2 = ctx_2.get_enable_default_domain()
4599+ self.assertEqual(enable_default_domain_2, True)
4600+
4601+ # custom value - False
4602+ ctx_3 = AKSPreviewManagedClusterContext(
4603+ self.cmd,
4604+ AKSManagedClusterParamDict({"enable_default_domain": False}),
4605+ self.models,
4606+ decorator_mode=DecoratorMode.CREATE,
4607+ )
4608+ enable_default_domain_3 = ctx_3.get_enable_default_domain()
4609+ self.assertEqual(enable_default_domain_3, False)
4610+
4611+ def test_get_disable_default_domain(self):
4612+ # default value
4613+ ctx_1 = AKSPreviewManagedClusterContext(
4614+ self.cmd,
4615+ AKSManagedClusterParamDict({}),
4616+ self.models,
4617+ decorator_mode=DecoratorMode.UPDATE,
4618+ )
4619+ disable_default_domain_1 = ctx_1.get_disable_default_domain()
4620+ self.assertEqual(disable_default_domain_1, None)
4621+
4622+ # custom value - True
4623+ ctx_2 = AKSPreviewManagedClusterContext(
4624+ self.cmd,
4625+ AKSManagedClusterParamDict({"disable_default_domain": True}),
4626+ self.models,
4627+ decorator_mode=DecoratorMode.UPDATE,
4628+ )
4629+ disable_default_domain_2 = ctx_2.get_disable_default_domain()
4630+ self.assertEqual(disable_default_domain_2, True)
4631+
4632+ # custom value - False
4633+ ctx_3 = AKSPreviewManagedClusterContext(
4634+ self.cmd,
4635+ AKSManagedClusterParamDict({"disable_default_domain": False}),
4636+ self.models,
4637+ decorator_mode=DecoratorMode.UPDATE,
4638+ )
4639+ disable_default_domain_3 = ctx_3.get_disable_default_domain()
4640+ self.assertEqual(disable_default_domain_3, False)
4641+
45804642class AKSPreviewManagedClusterCreateDecoratorTestCase(unittest.TestCase):
45814643 def setUp(self):
45824644 # manually register CUSTOM_MGMT_AKS_PREVIEW
@@ -5577,6 +5639,56 @@ def test_set_up_ingress_web_app_routing(self):
55775639 )
55785640 self.assertEqual(dec_mc_1, ground_truth_mc_1)
55795641
5642+ # enable_default_domain
5643+ dec_2 = AKSPreviewManagedClusterCreateDecorator(
5644+ self.cmd,
5645+ self.client,
5646+ {
5647+ "enable_default_domain": True,
5648+ },
5649+ CUSTOM_MGMT_AKS_PREVIEW,
5650+ )
5651+ mc_2 = self.models.ManagedCluster(location="test_location")
5652+ dec_2.context.attach_mc(mc_2)
5653+ dec_mc_2 = dec_2.set_up_ingress_web_app_routing(mc_2)
5654+ ground_truth_ingress_profile_2 = self.models.ManagedClusterIngressProfile(
5655+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
5656+ enabled=True,
5657+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
5658+ enabled=True
5659+ )
5660+ )
5661+ )
5662+ ground_truth_mc_2 = self.models.ManagedCluster(
5663+ location="test_location", ingress_profile=ground_truth_ingress_profile_2
5664+ )
5665+ self.assertEqual(dec_mc_2, ground_truth_mc_2)
5666+
5667+ # disable_default_domain
5668+ dec_3 = AKSPreviewManagedClusterCreateDecorator(
5669+ self.cmd,
5670+ self.client,
5671+ {
5672+ "disable_default_domain": True,
5673+ },
5674+ CUSTOM_MGMT_AKS_PREVIEW,
5675+ )
5676+ mc_3 = self.models.ManagedCluster(location="test_location")
5677+ dec_3.context.attach_mc(mc_3)
5678+ dec_mc_3 = dec_3.set_up_ingress_web_app_routing(mc_3)
5679+ ground_truth_ingress_profile_3 = self.models.ManagedClusterIngressProfile(
5680+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
5681+ enabled=True,
5682+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
5683+ enabled=False
5684+ )
5685+ )
5686+ )
5687+ ground_truth_mc_3 = self.models.ManagedCluster(
5688+ location="test_location", ingress_profile=ground_truth_ingress_profile_3
5689+ )
5690+ self.assertEqual(dec_mc_3, ground_truth_mc_3)
5691+
55805692 def test_set_up_ingress_profile_gateway_api(self):
55815693 # Test with enable_gateway_api parameter
55825694 dec_1 = AKSPreviewManagedClusterCreateDecorator(
@@ -10842,6 +10954,88 @@ def test_update_app_routing_profile(self):
1084210954 )
1084310955 self.assertEqual(dec_mc_9, ground_truth_mc_9)
1084410956
10957+ # enable default domain
10958+ dec_10 = AKSPreviewManagedClusterUpdateDecorator(
10959+ self.cmd,
10960+ self.client,
10961+ {"enable_default_domain": True},
10962+ CUSTOM_MGMT_AKS_PREVIEW,
10963+ )
10964+ mc_10 = self.models.ManagedCluster(
10965+ location="test_location",
10966+ ingress_profile=self.models.ManagedClusterIngressProfile(
10967+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
10968+ enabled=True,
10969+ )
10970+ ),
10971+ )
10972+ dec_10.context.attach_mc(mc_10)
10973+ dec_mc_10 = dec_10.update_app_routing_profile(mc_10)
10974+ ground_truth_mc_10 = self.models.ManagedCluster(
10975+ location="test_location",
10976+ ingress_profile=self.models.ManagedClusterIngressProfile(
10977+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
10978+ enabled=True,
10979+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
10980+ enabled=True
10981+ )
10982+ )
10983+ ),
10984+ )
10985+ self.assertEqual(dec_mc_10, ground_truth_mc_10)
10986+
10987+ # disable default domain
10988+ dec_11 = AKSPreviewManagedClusterUpdateDecorator(
10989+ self.cmd,
10990+ self.client,
10991+ {"disable_default_domain": True},
10992+ CUSTOM_MGMT_AKS_PREVIEW,
10993+ )
10994+ mc_11 = self.models.ManagedCluster(
10995+ location="test_location",
10996+ ingress_profile=self.models.ManagedClusterIngressProfile(
10997+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
10998+ enabled=True,
10999+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
11000+ enabled=True
11001+ )
11002+ )
11003+ ),
11004+ )
11005+ dec_11.context.attach_mc(mc_11)
11006+ dec_mc_11 = dec_11.update_app_routing_profile(mc_11)
11007+ ground_truth_mc_11 = self.models.ManagedCluster(
11008+ location="test_location",
11009+ ingress_profile=self.models.ManagedClusterIngressProfile(
11010+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11011+ enabled=True,
11012+ default_domain=self.models.ManagedClusterIngressDefaultDomainProfile(
11013+ enabled=False
11014+ )
11015+ )
11016+ ),
11017+ )
11018+ self.assertEqual(dec_mc_11, ground_truth_mc_11)
11019+
11020+ # enable default domain should fail when app routing is not enabled
11021+ dec_12 = AKSPreviewManagedClusterUpdateDecorator(
11022+ self.cmd,
11023+ self.client,
11024+ {"enable_default_domain": True},
11025+ CUSTOM_MGMT_AKS_PREVIEW,
11026+ )
11027+ mc_12 = self.models.ManagedCluster(
11028+ location="test_location",
11029+ ingress_profile=self.models.ManagedClusterIngressProfile(
11030+ web_app_routing=self.models.ManagedClusterIngressProfileWebAppRouting(
11031+ enabled=False,
11032+ )
11033+ ),
11034+ )
11035+ dec_12.context.attach_mc(mc_12)
11036+ with self.assertRaises(CLIError):
11037+ dec_12.update_app_routing_profile(mc_12)
11038+
1084511039 def test_enable_disable_ai_toolchain_operator(self):
1084611040 # Should not update mc if unset
1084711041 dec_0 = AKSPreviewManagedClusterUpdateDecorator(
0 commit comments