Skip to content

Commit

Permalink
added test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
rayaisaiah committed Jul 30, 2024
1 parent 7fc846e commit 671d032
Show file tree
Hide file tree
Showing 2 changed files with 202 additions and 0 deletions.
166 changes: 166 additions & 0 deletions src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -13147,6 +13147,172 @@ def test_aks_create_with_enable_advanced_network_observability(
checks=[self.is_empty()],
)

@AllowLargeResponse()
@AKSCustomResourceGroupPreparer(
random_name_length=17,
name_prefix="clitest",
location="eastus",
)
def test_aks_update_advanced_networking_observability_tls_management(
self, resource_group, resource_group_location
):
aks_name = self.create_random_name("cliakstest", 16)
self.kwargs.update(
{
"resource_group": resource_group,
"name": aks_name,
"ssh_key_value": self.generate_ssh_keys(),
"location": resource_group_location,
}
)

create_cmd = (
"aks create --resource-group={resource_group} --name={name} --location={location} "
"--ssh-key-value={ssh_key_value} --node-count=1 --tier standard "
)
self.cmd(create_cmd, checks=[self.check("provisioningState", "Succeeded")])

# update to set advanced networking observability tls management to "Managed" by default (no value specified)
update_cmd = (
"aks update --resource-group={resource_group} --name={name} "
"--enable-advanced-network-observability "
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AdvancedNetworkingPreview "
)
self.cmd(
update_cmd,
checks=[
self.check("provisioningState", "Succeeded"),
self.check("networkProfile.advancedNetworking.observability.enabled", True),
self.check("networkProfile.advancedNetworking.observability.tlsManagement", "Managed"),
],
)

# update to set advanced networking observability tls management to "None"
update_cmd_two = (
"aks update --resource-group={resource_group} --name={name} "
"--enable-advanced-network-observability --advanced-networking-observability-tls-management None "
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AdvancedNetworkingPreview "
)
self.cmd(
update_cmd_two,
checks=[
self.check("provisioningState", "Succeeded"),
self.check("networkProfile.advancedNetworking.observability.enabled", True),
self.check("networkProfile.advancedNetworking.observability.tlsManagement", "None"),
],
)

# update to set advanced networking observability tls management to "Managed"
update_cmd_three = (
"aks update --resource-group={resource_group} --name={name} "
"--advanced-networking-observability-tls-management Managed "
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AdvancedNetworkingPreview "
)
self.cmd(
update_cmd_three,
checks=[
self.check("provisioningState", "Succeeded"),
self.check("networkProfile.advancedNetworking.observability.enabled", True),
self.check("networkProfile.advancedNetworking.observability.tlsManagement", "Managed"),
],
)

# delete
self.cmd(
"aks delete -g {resource_group} -n {name} --yes --no-wait",
checks=[self.is_empty()],
)

@AllowLargeResponse()
@AKSCustomResourceGroupPreparer(
random_name_length=17,
name_prefix="clitest",
location="eastus",
)
def test_aks_create_advanced_networking_observability_tls_management_managed(
self, resource_group, resource_group_location
):
# reset the count so in replay mode the random names will start with 0
self.test_resources_count = 0
# kwargs for string formatting

aks_name = self.create_random_name("cliakstest", 16)
self.kwargs.update(
{
"resource_group": resource_group,
"name": aks_name,
"ssh_key_value": self.generate_ssh_keys(),
"location": resource_group_location,
}
)

# create
create_cmd = (
"aks create --resource-group={resource_group} --name={name} --location={location} "
"--ssh-key-value={ssh_key_value} --node-count=1 --tier standard "
"--enable-advanced-network-observability --advanced-networking-observability-tls-management Managed "
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AdvancedNetworkingPreview"
)
self.cmd(
create_cmd,
checks=[
self.check("provisioningState", "Succeeded"),
self.check("networkProfile.advancedNetworking.observability.enabled", True),
self.check("networkProfile.advancedNetworking.observability.tlsManagement", "Managed"),
],
)

# delete
self.cmd(
"aks delete -g {resource_group} -n {name} --yes --no-wait",
checks=[self.is_empty()],
)

@AllowLargeResponse()
@AKSCustomResourceGroupPreparer(
random_name_length=17,
name_prefix="clitest",
location="eastus",
)
def test_aks_create_advanced_networking_observability_tls_management_none(
self, resource_group, resource_group_location
):
# reset the count so in replay mode the random names will start with 0
self.test_resources_count = 0
# kwargs for string formatting

aks_name = self.create_random_name("cliakstest", 16)
self.kwargs.update(
{
"resource_group": resource_group,
"name": aks_name,
"ssh_key_value": self.generate_ssh_keys(),
"location": resource_group_location,
}
)

# create
create_cmd = (
"aks create --resource-group={resource_group} --name={name} --location={location} "
"--ssh-key-value={ssh_key_value} --node-count=1 --tier standard "
"--enable-advanced-network-observability --advanced-networking-observability-tls-management None "
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AdvancedNetworkingPreview"
)
self.cmd(
create_cmd,
checks=[
self.check("provisioningState", "Succeeded"),
self.check("networkProfile.advancedNetworking.observability.enabled", True),
self.check("networkProfile.advancedNetworking.observability.tlsManagement", "None"),
],
)

# delete
self.cmd(
"aks delete -g {resource_group} -n {name} --yes --no-wait",
checks=[self.is_empty()],
)

@AllowLargeResponse()
@AKSCustomResourceGroupPreparer(
random_name_length=17,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1009,6 +1009,42 @@ def test_mc_get_enable_advanced_network_observability(self):
)
self.assertEqual(ctx_5.get_enable_advanced_network_observability(), False)

def test_mc_get_advanced_networking_observability_tls_management(self):
# Default, not set.
ctx_1 = AKSPreviewManagedClusterContext(
self.cmd,
AKSManagedClusterParamDict({}),
self.models,
decorator_mode=DecoratorMode.CREATE,
)
self.assertEqual(ctx_1.get_advanced_networking_observability_tls_management(), None)

# Flag set to Managed.
ctx_2 = AKSPreviewManagedClusterContext(
self.cmd,
AKSManagedClusterParamDict(
{
"advanced_networking_observability_tls_management": "Managed",
}
),
self.models,
decorator_mode=DecoratorMode.CREATE,
)
self.assertEqual(ctx_2.get_advanced_networking_observability_tls_management(), "Managed")

# Flag set to None.
ctx_3 = AKSPreviewManagedClusterContext(
self.cmd,
AKSManagedClusterParamDict(
{
"advanced_networking_observability_tls_management": "None",
}
),
self.models,
decorator_mode=DecoratorMode.UPDATE,
)
self.assertEqual(ctx_3.get_advanced_networking_observability_tls_management(), "None")

def test_get_enable_managed_identity(self):
# custom value
ctx_1 = AKSPreviewManagedClusterContext(
Expand Down

0 comments on commit 671d032

Please sign in to comment.