From 4e2262d022af03a88691a2b9331617a498895db7 Mon Sep 17 00:00:00 2001 From: Ana Arias Rosales <147624519+anaarias-msft@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:55:55 -0400 Subject: [PATCH] AVS 2023-09-01 SDK Tests (#46831) * add mock test autorest file * fix added test * tests and assets changes * add new delete test recordings * added test recording --- sdk/avs/Azure.ResourceManager.Avs/assets.json | 2 +- .../tests/AvsManagementTestBase.cs | 28 ++++++- .../tests/Scenario/IscsiPathResourceTest.cs | 50 ++++++++++++ .../Scenario/PlacementPolicyCollectionTest.cs | 8 +- .../Scenario/PrivateCloudCollectionTest.cs | 4 +- .../Scenario/PrivateCloudResourceTest.cs | 4 +- .../WorkloadNetworkVmGroupCollectionTest.cs | 80 +++++++++++++++++++ 7 files changed, 165 insertions(+), 11 deletions(-) create mode 100644 sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/IscsiPathResourceTest.cs create mode 100644 sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/WorkloadNetworkVmGroupCollectionTest.cs diff --git a/sdk/avs/Azure.ResourceManager.Avs/assets.json b/sdk/avs/Azure.ResourceManager.Avs/assets.json index 40d4b351d735..ea9ffcf94090 100644 --- a/sdk/avs/Azure.ResourceManager.Avs/assets.json +++ b/sdk/avs/Azure.ResourceManager.Avs/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "net", "TagPrefix": "net/avs/Azure.ResourceManager.Avs", - "Tag": "net/avs/Azure.ResourceManager.Avs_0cfa07cc25" + "Tag": "net/avs/Azure.ResourceManager.Avs_a243329cff" } diff --git a/sdk/avs/Azure.ResourceManager.Avs/tests/AvsManagementTestBase.cs b/sdk/avs/Azure.ResourceManager.Avs/tests/AvsManagementTestBase.cs index c9638ea4a29d..e47dcd7dc6f7 100644 --- a/sdk/avs/Azure.ResourceManager.Avs/tests/AvsManagementTestBase.cs +++ b/sdk/avs/Azure.ResourceManager.Avs/tests/AvsManagementTestBase.cs @@ -19,10 +19,13 @@ public class AvsManagementTestBase : ManagementRecordedTestBase AzureLocation.EastUS; - public const string RESOURCE_GROUP_NAME = "avs-sdk-test"; - public const string PRIVATE_CLOUD_NAME = "avs-sdk-test"; + public const string RESOURCE_GROUP_NAME = "avs-dotnet-test"; + public const string PRIVATE_CLOUD_NAME = "avs-dotnet-test-w2"; public const string CLUSTER1_NAME = "Cluster-1"; public const string CLUSTER2_NAME = "Cluster-2"; + public const string ISCSI_PATH_NAME = "default"; + public const string WORKLOAD_NETWORK_NAME = "a8b7ddce-a5d6-11e8-a7e5-43344e310957"; + protected AvsManagementTestBase(bool isAsync, RecordedTestMode mode) : base(isAsync, mode) { @@ -66,5 +69,26 @@ protected async Task getAvsPrivateCloudClusterRe avsPrivateCloudCluster = await avsPrivateCloudCluster.GetAsync(); return avsPrivateCloudCluster; } + protected IscsiPathResource getIscsiPathResource() + { + string subscriptionId = DefaultSubscription.Data.SubscriptionId; + ResourceIdentifier iscsiPathResourceId = IscsiPathResource.CreateResourceIdentifier(subscriptionId, RESOURCE_GROUP_NAME, PRIVATE_CLOUD_NAME); + IscsiPathResource iscsiPath = Client.GetIscsiPathResource(iscsiPathResourceId); + return iscsiPath; + } + protected WorkloadNetworkResource getWorkloadNetworkResource() + { + string subscriptionId = DefaultSubscription.Data.SubscriptionId; + ResourceIdentifier workloadNetworkResourceId = WorkloadNetworkResource.CreateResourceIdentifier(subscriptionId, RESOURCE_GROUP_NAME, PRIVATE_CLOUD_NAME); + WorkloadNetworkResource workloadNetwork = Client.GetWorkloadNetworkResource(workloadNetworkResourceId); + return workloadNetwork; + } + protected AvsPrivateCloudResource getWorkloadNetworkResourceOld() + { + string subscriptionId = DefaultSubscription.Data.SubscriptionId; + ResourceIdentifier avsPrivateCloudResourceId = AvsPrivateCloudResource.CreateResourceIdentifier(subscriptionId, RESOURCE_GROUP_NAME, PRIVATE_CLOUD_NAME); + AvsPrivateCloudResource avsPrivateCloud = Client.GetAvsPrivateCloudResource(avsPrivateCloudResourceId); + return avsPrivateCloud; + } } } diff --git a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/IscsiPathResourceTest.cs b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/IscsiPathResourceTest.cs new file mode 100644 index 000000000000..13b94caeb821 --- /dev/null +++ b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/IscsiPathResourceTest.cs @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Azure.Core; +using Azure.Core.TestFramework; +using Azure.ResourceManager.Avs.Models; +using NUnit.Framework; + +namespace Azure.ResourceManager.Avs.Tests.Scenario +{ + public class IscsiPathResourceTest : AvsManagementTestBase + { + public IscsiPathResourceTest(bool isAsync) : base(isAsync) + { + } + + [TestCase, Order(1)] + [RecordedTest] + public async Task Create() + { + IscsiPathData data = new IscsiPathData() + { + NetworkBlock = "172.16.0.0/24", + }; + ArmOperation lro = await getIscsiPathResource().CreateOrUpdateAsync(WaitUntil.Completed, data); + IscsiPathResource result = lro.Value; + Assert.AreEqual(result.Data.Name, ISCSI_PATH_NAME); + } + + [TestCase, Order(2)] + [RecordedTest] + public async Task Get() + { + IscsiPathResource iscsiPath = await getIscsiPathResource().GetAsync(); + Assert.AreEqual(iscsiPath.Data.Name, ISCSI_PATH_NAME); + } + + [TestCase, Order(3)] + [RecordedTest] + public async Task Delete() + { + ArmOperation lro = await getIscsiPathResource().DeleteAsync(WaitUntil.Started); + } + } +} \ No newline at end of file diff --git a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PlacementPolicyCollectionTest.cs b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PlacementPolicyCollectionTest.cs index 988cce4cd4b5..1b5951d8079d 100644 --- a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PlacementPolicyCollectionTest.cs +++ b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PlacementPolicyCollectionTest.cs @@ -31,14 +31,14 @@ protected async Task GetPlacementPolicyCollectionAsyn [AsyncOnly] public async Task Create() { var collection = await GetPlacementPolicyCollectionAsync(); - string placementPolicyName = "policy1"; + string placementPolicyName = "policy2"; PlacementPolicyData data = new PlacementPolicyData() { Properties = new VmHostPlacementPolicyProperties(new ResourceIdentifier[] { -new ResourceIdentifier($"/subscriptions/{DefaultSubscription.Data.SubscriptionId}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Microsoft.AVS/privateClouds/{PRIVATE_CLOUD_NAME}/clusters/{CLUSTER1_NAME}/virtualMachines/vm-1818") +new ResourceIdentifier($"/subscriptions/{DefaultSubscription.Data.SubscriptionId}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Microsoft.AVS/privateClouds/{PRIVATE_CLOUD_NAME}/clusters/{CLUSTER1_NAME}/virtualMachines/vm-153") }, new string[] - {"esx05-r20.p04.eastus.avs.azure.com" + {"esx01-r09.p02.westus2.avs.azure.com" }, AvsPlacementPolicyAffinityType.Affinity) }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, placementPolicyName, data); @@ -60,4 +60,4 @@ public async Task GetCollection() Assert.IsTrue(policies.Any()); } } -} +} \ No newline at end of file diff --git a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudCollectionTest.cs b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudCollectionTest.cs index 67e6562c52e6..07f7e06f209c 100644 --- a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudCollectionTest.cs +++ b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudCollectionTest.cs @@ -30,7 +30,7 @@ protected async Task GetPrivateCloudCollectionAsync( public async Task CreateOrUpdate() { var collection = await GetPrivateCloudCollectionAsync(); - string privateCloudName = Recording.GenerateAssetName("avs-sdk-test-"); + string privateCloudName = Recording.GenerateAssetName("avs-dotnet-test-"); AvsPrivateCloudData data = new AvsPrivateCloudData(DefaultLocation, new AvsSku("AV36")) { ManagementCluster = new AvsManagementCluster() @@ -89,4 +89,4 @@ public async Task Get() Assert.AreEqual(result.Data.Name, PRIVATE_CLOUD_NAME); } } -} +} \ No newline at end of file diff --git a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudResourceTest.cs b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudResourceTest.cs index 348fd485676f..bbef63309955 100644 --- a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudResourceTest.cs +++ b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/PrivateCloudResourceTest.cs @@ -46,8 +46,8 @@ public async Task RotateNsxtPassword() ArmOperation lro = await privateCloudResource.RotateNsxtPasswordAsync(WaitUntil.Started); } - // [TestCase] - // [RecordedTest] + [TestCase] + [RecordedTest] public async Task Delete() { var privateCloudResource = await getAvsPrivateCloudResource(); diff --git a/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/WorkloadNetworkVmGroupCollectionTest.cs b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/WorkloadNetworkVmGroupCollectionTest.cs new file mode 100644 index 000000000000..707a1c2ffcf3 --- /dev/null +++ b/sdk/avs/Azure.ResourceManager.Avs/tests/Scenario/WorkloadNetworkVmGroupCollectionTest.cs @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Azure.Core; +using Azure.Core.TestFramework; +using Azure.ResourceManager.Avs.Models; +using NUnit.Framework; + +namespace Azure.ResourceManager.Avs.Tests.Scenario +{ + public class WorkloadNetworkVmGroupCollectionTest: AvsManagementTestBase + { + public WorkloadNetworkVmGroupCollectionTest(bool isAsync) : base(isAsync) + { + } + + [TestCase, Order(1)] + [RecordedTest] + public async Task GetCollection() + { + WorkloadNetworkVmGroupCollection collection = getWorkloadNetworkResource().GetWorkloadNetworkVmGroups(); + var workloadNetworksList = new List(); + await foreach (WorkloadNetworkVmGroupResource item in collection.GetAllAsync()) + { + workloadNetworksList.Add(item); + } + + Assert.IsTrue(workloadNetworksList.Any()); + } + + [TestCase, Order(1)] + [RecordedTest] + public async Task GetCollectionOld() + { + WorkloadNetworkVmGroupCollection collection = getWorkloadNetworkResourceOld().GetWorkloadNetworkVmGroups(); + var workloadNetworksList = new List(); + await foreach (WorkloadNetworkVmGroupResource item in collection.GetAllAsync()) + { + workloadNetworksList.Add(item); + } + + Assert.IsTrue(workloadNetworksList.Any()); + } + + [TestCase, Order(2)] + [RecordedTest] + public async Task GetResource() + { + WorkloadNetworkVmGroupCollection collection = getWorkloadNetworkResource().GetWorkloadNetworkVmGroups(); + WorkloadNetworkVmGroupResource result = await collection.GetAsync(WORKLOAD_NETWORK_NAME); + Assert.AreEqual(result.Data.Name, WORKLOAD_NETWORK_NAME); + } + + [TestCase, Order(3)] + [RecordedTest] + public async Task resourceExisits() + { + WorkloadNetworkVmGroupCollection collection = getWorkloadNetworkResource().GetWorkloadNetworkVmGroups(); + bool result = await collection.ExistsAsync(WORKLOAD_NETWORK_NAME); + Assert.True(result); + result = await collection.ExistsAsync("wn1"); + Assert.False(result); + } + [TestCase, Order(4)] + [RecordedTest] + public async Task getIfExisits() + { + WorkloadNetworkVmGroupCollection collection = getWorkloadNetworkResource().GetWorkloadNetworkVmGroups(); + NullableResponse response = await collection.GetIfExistsAsync(WORKLOAD_NETWORK_NAME); + WorkloadNetworkVmGroupResource result = response.HasValue ? response.Value : null; + Assert.NotNull(result); + Assert.AreEqual(result.Data.Name, WORKLOAD_NETWORK_NAME); + } + } +}