From 2d2452558ead5a0fcd896b39631c2ddaac1bd811 Mon Sep 17 00:00:00 2001 From: Connie Yau Date: Mon, 8 Jul 2024 10:43:02 -0700 Subject: [PATCH] Revert "Fix spring autoconfigure test (#40980)" This reverts commit 33c79f2d1f6bc997ee86ccc8a105fb2750f9042c. --- sdk/spring/ci.yml | 6 --- .../pipeline/compatibility-tests-job.yml | 5 --- ...disAutoConfigurationTestContainerTest.java | 42 ++++++------------- .../test/resources/testcontainers.properties | 1 - sdk/spring/tests.yml | 7 +--- 5 files changed, 13 insertions(+), 48 deletions(-) delete mode 100644 sdk/spring/spring-cloud-azure-autoconfigure/src/test/resources/testcontainers.properties diff --git a/sdk/spring/ci.yml b/sdk/spring/ci.yml index bbb6108542c0..a2b8331647c6 100644 --- a/sdk/spring/ci.yml +++ b/sdk/spring/ci.yml @@ -600,9 +600,3 @@ extends: skipPublishDocGithubIo: true skipPublishDocMs: true releaseInBatch: ${{ parameters.release_springcloudazurestarterappconfigurationconfig }} - PreBuildSteps: - # AzureRedisAutoConfigurationTestContainerTest pulls in `ryuk` image because of testcontainers dependency. - # `ryuk` does not exist in mcr.microsoft.com image repository. Do not pull image. - - bash: | - echo "##vso[task.setvariable variable=TESTCONTAINERS_RYUK_DISABLED;]true" - displayName: 'Disable testcontainers ryuk' diff --git a/sdk/spring/pipeline/compatibility-tests-job.yml b/sdk/spring/pipeline/compatibility-tests-job.yml index 4761c9d0818e..5756f8f36fd6 100644 --- a/sdk/spring/pipeline/compatibility-tests-job.yml +++ b/sdk/spring/pipeline/compatibility-tests-job.yml @@ -24,11 +24,6 @@ jobs: - script: | python -m pip install termcolor displayName: 'Python module install' - # AzureRedisAutoConfigurationTestContainerTest pulls in `ryuk` image because of testcontainers dependency. - # `ryuk` does not exist in mcr.microsoft.com image repository. Do not pull image. - - bash: | - echo "##vso[task.setvariable variable=TESTCONTAINERS_RYUK_DISABLED;]true" - displayName: 'Disable testcontainers ryuk' - bash: | echo "##vso[task.setVariable variable=SPRING_CLOUD_AZURE_TEST_SUPPORTED_SPRING_CLOUD_VERSION]$(python ./sdk/spring/scripts/compatibility_get_spring_cloud_version.py -b $(SPRING_CLOUD_AZURE_TEST_SUPPORTED_SPRING_BOOT_VERSION))" displayName: 'Set env' diff --git a/sdk/spring/spring-cloud-azure-autoconfigure/src/test/java/com/azure/spring/cloud/autoconfigure/implementation/redis/passwordless/data/jedis/AzureRedisAutoConfigurationTestContainerTest.java b/sdk/spring/spring-cloud-azure-autoconfigure/src/test/java/com/azure/spring/cloud/autoconfigure/implementation/redis/passwordless/data/jedis/AzureRedisAutoConfigurationTestContainerTest.java index 3aabb5c7c598..469a1702c6a5 100644 --- a/sdk/spring/spring-cloud-azure-autoconfigure/src/test/java/com/azure/spring/cloud/autoconfigure/implementation/redis/passwordless/data/jedis/AzureRedisAutoConfigurationTestContainerTest.java +++ b/sdk/spring/spring-cloud-azure-autoconfigure/src/test/java/com/azure/spring/cloud/autoconfigure/implementation/redis/passwordless/data/jedis/AzureRedisAutoConfigurationTestContainerTest.java @@ -5,15 +5,12 @@ import com.azure.identity.extensions.implementation.template.AzureAuthenticationTemplate; import com.azure.spring.cloud.autoconfigure.redis.AzureJedisPasswordlessAutoConfiguration; -import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; -import org.junit.jupiter.api.condition.DisabledOnOs; -import org.junit.jupiter.api.condition.OS; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; @@ -24,6 +21,7 @@ import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.GenericContainer; +import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.utility.DockerImageName; @@ -35,7 +33,7 @@ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) @Testcontainers -@DisabledOnOs({OS.WINDOWS, OS.MAC}) +@Disabled("Disable for Container startup failed") @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class AzureRedisAutoConfigurationTestContainerTest { @@ -44,34 +42,17 @@ public class AzureRedisAutoConfigurationTestContainerTest { private static final String REDIS_PASSWORD = "fake-testcontainer-password"; - /** - * Pulling Docker registry name from testcontainers.properties file as prefix. - */ - private static final GenericContainer REDIS; + @Container + private static GenericContainer redis = + new GenericContainer<>(DockerImageName.parse("redis:5.0.3-alpine")) + .withCommand("--requirepass", REDIS_PASSWORD) + .withExposedPorts(6379); - static { - System.out.println("TESTCONTAINERS_RYUK_DISABLED value: [" + System.getenv("TESTCONTAINERS_RYUK_DISABLED") + "]"); - - REDIS = - new GenericContainer<>(DockerImageName.parse("redis:6")) - .withCommand("--requirepass", REDIS_PASSWORD) - .withExposedPorts(6379); - } - - @BeforeAll - public static void beforeAll() { - REDIS.start(); - } - - @AfterAll - public static void afterAll() { - REDIS.stop(); - } @DynamicPropertySource static void redisProperties(DynamicPropertyRegistry registry) { - registry.add("spring.redis.host", REDIS::getHost); - registry.add("spring.redis.port", REDIS::getFirstMappedPort); + registry.add("spring.redis.host", redis::getHost); + registry.add("spring.redis.port", redis::getFirstMappedPort); registry.add("spring.redis.ssl", () -> false); registry.add("spring.redis.azure.passwordless-enabled", () -> true); } @@ -91,11 +72,12 @@ void testSetAndGet() { @Test @Order(2) - void testGetValueAfterSet() { + void testGetVauleAfterSet() { String value = (String) redisTemplate.opsForValue().get("valueMap3"); Assertions.assertEquals("map3", value); } + @Configuration @Import({AzureJedisPasswordlessAutoConfiguration.class, RedisAutoConfiguration.class}) static class AzureRedisPasswordlessTestConfig { diff --git a/sdk/spring/spring-cloud-azure-autoconfigure/src/test/resources/testcontainers.properties b/sdk/spring/spring-cloud-azure-autoconfigure/src/test/resources/testcontainers.properties deleted file mode 100644 index 129afa417c6a..000000000000 --- a/sdk/spring/spring-cloud-azure-autoconfigure/src/test/resources/testcontainers.properties +++ /dev/null @@ -1 +0,0 @@ -hub.image.name.prefix=mcr.microsoft.com/cbl-mariner/base/ diff --git a/sdk/spring/tests.yml b/sdk/spring/tests.yml index 91153347f8a2..5c14c0309e71 100644 --- a/sdk/spring/tests.yml +++ b/sdk/spring/tests.yml @@ -6,8 +6,6 @@ extends: stages: - template: /eng/pipelines/templates/stages/archetype-sdk-tests-isolated.yml parameters: - EnvVars: - TESTCONTAINERS_RYUK_DISABLED: true UseFederatedAuth: true SupportedClouds: "Public,UsGov,China" Clouds: "Public" @@ -45,8 +43,6 @@ extends: TestOptions: "-DskipSpringITs=false" - template: /eng/pipelines/templates/stages/archetype-sdk-tests-isolated.yml parameters: - EnvVars: - TESTCONTAINERS_RYUK_DISABLED: true UseFederatedAuth: true SupportedClouds: 'Public,UsGov,China' Clouds: 'Public' @@ -74,8 +70,6 @@ extends: TestGoals: 'verify' - template: /eng/pipelines/templates/stages/archetype-sdk-tests-isolated.yml parameters: - EnvVars: - TESTCONTAINERS_RYUK_DISABLED: true UseFederatedAuth: true SupportedClouds: 'Public,UsGov' Clouds: 'Public' @@ -106,3 +100,4 @@ extends: TestName: 'Spring_Data_Cosmos_Integration' TestGoals: 'clean verify' TestOptions: '$(ProfileFlag)' +