diff --git a/pom.xml b/pom.xml index bfd73fb3a4..6831f4a7a8 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ UTF-8 **/*IntegrationTest* - spring-cloud-previews/**/* + spring-cloud-previews/!(google-cloud-language-spring-starter)/** diff --git a/spring-cloud-generator/spring-cloud-previews-template/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java b/spring-cloud-generator/spring-cloud-previews-template/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java index d3e9d4d6ad..ebb167d12e 100644 --- a/spring-cloud-generator/spring-cloud-previews-template/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java +++ b/spring-cloud-generator/spring-cloud-previews-template/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java @@ -384,4 +384,49 @@ void testRetrySettingsFromProperties_serviceAndMethodLevel_allRetrySettings() { .isEqualTo(customServiceMaxAttempts); }); } + + @Test + void testRetrySettingsFromProperties_methodLevel_totalTimeout() { + String customTimeoutString = "PT10S"; + Duration customTimeoutDuration = Duration.ofSeconds(10); + + this.contextRunner + .withPropertyValues( + // configure total timeout on method-level + "com.google.cloud.language.v1.language-service.analyze-sentiment-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.analyze-entities-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.analyze-entity-sentiment-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.analyze-syntax-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.classify-text-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.annotate-text-retry.total-timeout=" + + customTimeoutString) + .run( + ctx -> { + LanguageServiceClient client = ctx.getBean(LanguageServiceClient.class); + LanguageServiceSettings settings = client.getSettings(); + + // Method-level configurations + assertThat(settings.analyzeEntitiesSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.analyzeEntitiesSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat( + settings + .analyzeEntitySentimentSettings() + .getRetrySettings() + .getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.analyzeSyntaxSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.classifyTextSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.annotateTextSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + }); + } } diff --git a/spring-cloud-previews/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java b/spring-cloud-previews/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java index d3e9d4d6ad..ebb167d12e 100644 --- a/spring-cloud-previews/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java +++ b/spring-cloud-previews/google-cloud-language-spring-starter/src/test/java/com/google/cloud/language/v1/spring/LanguageAutoConfigurationTests.java @@ -384,4 +384,49 @@ void testRetrySettingsFromProperties_serviceAndMethodLevel_allRetrySettings() { .isEqualTo(customServiceMaxAttempts); }); } + + @Test + void testRetrySettingsFromProperties_methodLevel_totalTimeout() { + String customTimeoutString = "PT10S"; + Duration customTimeoutDuration = Duration.ofSeconds(10); + + this.contextRunner + .withPropertyValues( + // configure total timeout on method-level + "com.google.cloud.language.v1.language-service.analyze-sentiment-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.analyze-entities-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.analyze-entity-sentiment-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.analyze-syntax-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.classify-text-retry.total-timeout=" + + customTimeoutString, + "com.google.cloud.language.v1.language-service.annotate-text-retry.total-timeout=" + + customTimeoutString) + .run( + ctx -> { + LanguageServiceClient client = ctx.getBean(LanguageServiceClient.class); + LanguageServiceSettings settings = client.getSettings(); + + // Method-level configurations + assertThat(settings.analyzeEntitiesSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.analyzeEntitiesSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat( + settings + .analyzeEntitySentimentSettings() + .getRetrySettings() + .getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.analyzeSyntaxSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.classifyTextSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + assertThat(settings.annotateTextSettings().getRetrySettings().getTotalTimeout()) + .isEqualTo(customTimeoutDuration); + }); + } }