Skip to content

Commit

Permalink
Refactor resourcemanager tests to work with latest TestProxy (additio…
Browse files Browse the repository at this point in the history
…nal) (#41388)

Refactor resourcemanager tests to work with latest TestProxy (additional)
  • Loading branch information
v-hongli1 authored Aug 1, 2024
1 parent eed41c1 commit 347fb9a
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@

import com.azure.core.http.HttpPipeline;
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.management.Region;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.test.annotation.DoNotRecord;
import com.azure.core.test.annotation.LiveOnly;
import com.azure.resourcemanager.compute.models.ComputeResourceType;
import com.azure.resourcemanager.compute.models.ComputeSku;
import com.azure.resourcemanager.test.utils.TestUtilities;
import com.azure.resourcemanager.resources.fluentcore.arm.AvailabilityZoneId;
import com.azure.core.management.Region;
import java.util.Map;
import java.util.Set;

import com.azure.core.management.profile.AzureProfile;
import com.azure.resourcemanager.test.utils.TestUtilities;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.util.Map;
import java.util.Set;

public class ComputeSkuTests extends ComputeManagementTest {
@Override
protected void initializeClients(HttpPipeline httpPipeline, AzureProfile profile) {
Expand Down Expand Up @@ -99,7 +98,7 @@ public void canListSkus() throws Exception {
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canListSkusByRegion() throws Exception {
// LiveOnly because "test timing out after latest test proxy update"
PagedIterable<ComputeSku> skus = this.computeManager.computeSkus().listByRegion(Region.US_EAST2);
Expand All @@ -125,7 +124,7 @@ public void canListSkusByResourceType() throws Exception {
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canListSkusByRegionAndResourceType() throws Exception {
// LiveOnly because "test timing out after latest test proxy update"
PagedIterable<ComputeSku> skus =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@

import com.azure.core.http.HttpPipeline;
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.management.Region;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.test.annotation.LiveOnly;
import com.azure.core.test.annotation.DoNotRecord;
import com.azure.resourcemanager.authorization.models.BuiltInRole;
import com.azure.resourcemanager.authorization.models.RoleAssignment;
import com.azure.resourcemanager.compute.models.CachingTypes;
import com.azure.resourcemanager.compute.models.KnownLinuxVirtualMachineImage;
import com.azure.resourcemanager.compute.models.ResourceIdentityType;
import com.azure.resourcemanager.compute.models.VirtualMachine;
import com.azure.resourcemanager.compute.models.VirtualMachineSizeTypes;
import com.azure.core.management.Region;
import com.azure.resourcemanager.resources.models.ResourceGroup;
import com.azure.resourcemanager.storage.models.StorageAccount;
import org.junit.jupiter.api.Assertions;
Expand All @@ -37,9 +37,10 @@ protected void cleanUpResources() {
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canSetMSIOnNewOrExistingVMWithoutRoleAssignment() throws Exception {
// LiveOnly because test needs to be refactored for storing/evaluating PrincipalId
// and "test timing out after latest test proxy update"
// Create a virtual machine with just MSI enabled without role and scope.
//
VirtualMachine virtualMachine =
Expand Down Expand Up @@ -247,9 +248,10 @@ public void canSetMSIOnNewVMWithMultipleRoleAssignments() throws Exception {
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canSetMSIOnExistingVMWithRoleAssignments() throws Exception {
// LiveOnly because test needs to be refactored for storing/evaluating PrincipalId
// and "test timing out after latest test proxy update"
VirtualMachine virtualMachine =
computeManager
.virtualMachines()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
import com.azure.core.http.policy.HttpPipelinePolicy;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.management.Region;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.test.annotation.LiveOnly;
import com.azure.core.test.annotation.DoNotRecord;
import com.azure.resourcemanager.authorization.models.BuiltInRole;
import com.azure.resourcemanager.authorization.models.RoleAssignment;
import com.azure.resourcemanager.msi.models.Identity;
import com.azure.resourcemanager.resources.ResourceManager;
import com.azure.core.management.Region;
import com.azure.resourcemanager.resources.fluentcore.model.Creatable;
import com.azure.resourcemanager.resources.fluentcore.utils.HttpPipelineProvider;
import com.azure.resourcemanager.resources.fluentcore.utils.ResourceManagerUtils;
Expand Down Expand Up @@ -126,8 +126,10 @@ public void canCreateGetListDeleteIdentity() throws Exception {
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canAssignCurrentResourceGroupAccessRoleToIdentity() throws Exception {
// In `PLAYBACK` mode, An identity update exception occurred.
// Flux#last() didn't observe any onNext signal
rgName = generateRandomResourceName("javaismrg", 15);
String identityName = generateRandomResourceName("msi-id", 15);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,18 @@
package com.azure.resourcemanager.resources;

import com.azure.core.http.rest.PagedIterable;
import com.azure.core.management.Region;
import com.azure.core.test.annotation.DoNotRecord;
import com.azure.core.test.annotation.LiveOnly;
import com.azure.resourcemanager.resources.models.EnforcementMode;
import com.azure.resourcemanager.resources.models.GenericResource;
import com.azure.resourcemanager.resources.models.ParameterDefinitionsValue;
import com.azure.resourcemanager.resources.models.ParameterType;
import com.azure.resourcemanager.test.utils.TestUtilities;
import com.azure.resourcemanager.resources.models.GenericResource;
import com.azure.resourcemanager.resources.models.PolicyAssignment;
import com.azure.resourcemanager.resources.models.PolicyDefinition;
import com.azure.resourcemanager.resources.models.PolicyType;
import com.azure.resourcemanager.resources.models.ResourceGroup;
import com.azure.resourcemanager.test.utils.TestUtilities;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.azure.core.management.Region;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

Expand All @@ -35,8 +34,9 @@ protected void cleanUpResources() {

@SuppressWarnings("unchecked")
@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canCRUDPolicyDefinition() throws Exception {
// LiveOnly because "test timing out after latest test proxy update"
String policyName = generateRandomResourceName("policy", 15);
String displayName = generateRandomResourceName("mypolicy", 15);
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import com.azure.core.management.Region;
import com.azure.core.management.exception.ManagementException;
import com.azure.core.test.annotation.DoNotRecord;
import com.azure.core.test.annotation.LiveOnly;
import com.azure.resourcemanager.resources.fluentcore.model.Creatable;
import com.azure.resourcemanager.resources.fluentcore.model.Indexable;
import com.azure.resourcemanager.resources.fluentcore.utils.ResourceManagerUtils;
Expand All @@ -30,9 +29,9 @@
import com.azure.resourcemanager.sql.models.RegionCapabilities;
import com.azure.resourcemanager.sql.models.ReplicationLink;
import com.azure.resourcemanager.sql.models.SampleName;
import com.azure.resourcemanager.sql.models.ServerNetworkAccessFlag;
import com.azure.resourcemanager.sql.models.SecurityAlertPolicyName;
import com.azure.resourcemanager.sql.models.SecurityAlertPolicyState;
import com.azure.resourcemanager.sql.models.ServerNetworkAccessFlag;
import com.azure.resourcemanager.sql.models.ServiceObjectiveName;
import com.azure.resourcemanager.sql.models.Sku;
import com.azure.resourcemanager.sql.models.SqlActiveDirectoryAdministrator;
Expand Down Expand Up @@ -71,6 +70,7 @@
import java.nio.file.Files;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
Expand Down Expand Up @@ -584,7 +584,7 @@ public void canCreateAndAquireServerDnsAlias() throws Exception {
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void canGetSqlServerCapabilitiesAndCreateIdentity() throws Exception {
// LiveOnly because "test timing out after latest test proxy update"
String sqlServerAdminName = "sqladmin";
Expand Down Expand Up @@ -1654,10 +1654,11 @@ private void validateSqlDatabaseWithElasticPool(SqlDatabase sqlDatabase, String
}

@Test
@LiveOnly
@DoNotRecord(skipInPlayback = true)
public void testRandomSku() {
// LiveOnly because "test timing out after latest test proxy update"
// "M" series is not supported in this region
List<CapabilityStatus> capabilityStatusList = Arrays.asList(CapabilityStatus.AVAILABLE, CapabilityStatus.DEFAULT);
List<DatabaseSku> databaseSkus = DatabaseSku.getAll().stream().filter(sku -> !"M".equals(sku.toSku().family())).collect(Collectors.toCollection(LinkedList::new));
Collections.shuffle(databaseSkus);
List<ElasticPoolSku> elasticPoolSkus = ElasticPoolSku.getAll().stream().filter(sku -> !"M".equals(sku.toSku().family())).collect(Collectors.toCollection(LinkedList::new));
Expand All @@ -1666,18 +1667,18 @@ public void testRandomSku() {
sqlServerManager.sqlServers().getCapabilitiesByRegion(Region.US_EAST).supportedCapabilitiesByServerVersion()
.forEach((x, serverVersionCapability) -> {
serverVersionCapability.supportedEditions().forEach(edition -> {
edition.supportedServiceLevelObjectives().forEach(serviceObjective -> {
if (serviceObjective.status() != CapabilityStatus.AVAILABLE && serviceObjective.status() != CapabilityStatus.DEFAULT || "M".equals(serviceObjective.sku().family())) {
databaseSkus.remove(DatabaseSku.fromSku(serviceObjective.sku()));
}
});
edition.supportedServiceLevelObjectives()
.stream().filter(serviceObjective ->
!capabilityStatusList.contains(serviceObjective.status())
|| "M".equals(serviceObjective.sku().family()))
.forEach(serviceObjective -> databaseSkus.remove(DatabaseSku.fromSku(serviceObjective.sku())));
});
serverVersionCapability.supportedElasticPoolEditions().forEach(edition -> {
edition.supportedElasticPoolPerformanceLevels().forEach(performance -> {
if (performance.status() != CapabilityStatus.AVAILABLE && performance.status() != CapabilityStatus.DEFAULT || "M".equals(performance.sku().family())) {
elasticPoolSkus.remove(ElasticPoolSku.fromSku(performance.sku()));
}
});
edition.supportedElasticPoolPerformanceLevels()
.stream().filter(performance ->
!capabilityStatusList.contains(performance.status())
|| "M".equals(performance.sku().family()))
.forEach(performance -> elasticPoolSkus.remove(ElasticPoolSku.fromSku(performance.sku())));
});
});

Expand Down

0 comments on commit 347fb9a

Please sign in to comment.