Как отключить автоконфигурацию хранилища параметров AWS для тестов?

Я добавил spring-cloud-starter-aws-parameter-store-config зависимость, как объяснено в весенней документации. Теперь для модульных тестов я хочу отключить настройку хранилища параметров. Но не в состоянии это сделать.

Я попытался установить следующее свойство в test/application.properties

 aws.paramstore.enabled=false

Также пробовал исключая AwsParamStoreBootstrapConfiguration.class от AutoConfiguration но все еще не работает.

исключение

Вызвано: org.springframework.beans.BeanInstantiationException: Не удалось создать экземпляр [com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement]: метод фабрики 'ssmClient' вызвал исключение; Вложенное исключение - com.amazonaws.SdkClientException: невозможно найти регион через цепочку поставщиков региона. Для предоставления региона необходимо указать явный регион в среде компоновщика или установки. в org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE] в org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE] ... 83 опущены общие фреймы Причина: com.amazonaws.SdkClientException: Невозможно для найти регион через сеть региональных поставщиков. Для предоставления региона необходимо указать явный регион в среде компоновщика или установки. в com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:371) ~[aws-java-sdk-core-1.11.336.jar:na] в com.amazonaws.client.builder.AwsClientBuilder AwsClientBuilder.java:337) ~[aws-java-sdk-core-1.11.336.jar:na] в com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46) ~ -wk js -core-1.11.336.jar: na] на com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.defaultClient(AWSSimpleSystemsManagementClientBuilder.java:44) ~[aws-java-sdk-ssm-1.11.3: at: 1.11.3.springframework.cloud.aws.autoconfigure.paramstore.AwsParamStoreBootstrapConfiguration.ssmClient(AwsParamStoreBootstrapConfiguration.java:53) ~[spring-cloud-starter-aws-parameter-store-config-2.0.0.RELEASE.jar ]

1 ответ

Решение

Я был в состоянии найти решение. Кажется, что SpringBootTest пытается загрузить ssmClient даже перед тестовым классом конфигурации и перед загрузкой application.properties, Решение состоит в том, чтобы отключить paramstore, указав свойство на @SpringBootTest сам

@SpringBootTest(classes = MyApp.class, properties = {"aws.paramstore.enabled=false"})
Другие вопросы по тегам