From 0eda44186a2bc85ce96b2db62bacba65332de4e5 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 31 Jul 2023 15:11:35 +0300 Subject: [PATCH] Polish tests for configuration constants See gh-30851 --- .../CustomizableTraceInterceptorTests.java | 2 +- .../IsolationLevelDataSourceAdapterTests.java | 5 +++-- .../DefaultMessageListenerContainerTests.java | 18 ++++++++++++----- .../JmsActivationSpecConfigTests.java | 20 +++++++++++++------ .../jms/support/JmsAccessorTests.java | 18 ++++++++++++----- .../support/TransactionSupportTests.java | 6 +++--- 6 files changed, 47 insertions(+), 22 deletions(-) diff --git a/spring-aop/src/test/java/org/springframework/aop/interceptor/CustomizableTraceInterceptorTests.java b/spring-aop/src/test/java/org/springframework/aop/interceptor/CustomizableTraceInterceptorTests.java index a95d98d9db..81446953f7 100644 --- a/spring-aop/src/test/java/org/springframework/aop/interceptor/CustomizableTraceInterceptorTests.java +++ b/spring-aop/src/test/java/org/springframework/aop/interceptor/CustomizableTraceInterceptorTests.java @@ -179,7 +179,7 @@ class CustomizableTraceInterceptorTests { @Test @SuppressWarnings("deprecation") void supportedPlaceholderValues() { - assertThat(ALLOWED_PLACEHOLDERS).containsAll(getPlaceholderConstantValues()); + assertThat(ALLOWED_PLACEHOLDERS).containsExactlyInAnyOrderElementsOf(getPlaceholderConstantValues()); } private List getPlaceholderConstantValues() { diff --git a/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/IsolationLevelDataSourceAdapterTests.java b/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/IsolationLevelDataSourceAdapterTests.java index 20fac2c532..85db265e48 100644 --- a/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/IsolationLevelDataSourceAdapterTests.java +++ b/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/IsolationLevelDataSourceAdapterTests.java @@ -63,14 +63,15 @@ class IsolationLevelDataSourceAdapterTests { Integer isolationLevel = adapter.getIsolationLevel(); if ("ISOLATION_DEFAULT".equals(name)) { assertThat(isolationLevel).isNull(); + uniqueValues.add(ISOLATION_DEFAULT); } else { Integer expected = IsolationLevelDataSourceAdapter.constants.get(name); assertThat(isolationLevel).isEqualTo(expected); + uniqueValues.add(isolationLevel); } - uniqueValues.add(isolationLevel); }); - assertThat(uniqueValues).hasSize(IsolationLevelDataSourceAdapter.constants.size()); + assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(IsolationLevelDataSourceAdapter.constants.values()); } @Test diff --git a/spring-jms/src/test/java/org/springframework/jms/listener/DefaultMessageListenerContainerTests.java b/spring-jms/src/test/java/org/springframework/jms/listener/DefaultMessageListenerContainerTests.java index 0d7fabdc30..089a526b83 100644 --- a/spring-jms/src/test/java/org/springframework/jms/listener/DefaultMessageListenerContainerTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/listener/DefaultMessageListenerContainerTests.java @@ -18,6 +18,8 @@ package org.springframework.jms.listener; import java.lang.reflect.Field; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.stream.Stream; @@ -37,7 +39,6 @@ import org.springframework.util.backoff.FixedBackOff; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.assertj.core.api.Assertions.assertThatNoException; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -160,16 +161,23 @@ class DefaultMessageListenerContainerTests { @Test void setCacheLevelNameToAllSupportedValues() { DefaultMessageListenerContainer container = new DefaultMessageListenerContainer(); + Set uniqueValues = new HashSet<>(); streamCacheConstants() - .map(Field::getName) - .forEach(name -> assertThatNoException().isThrownBy(() -> container.setCacheLevelName(name))); + .forEach(name -> { + container.setCacheLevelName(name); + int cacheLevel = container.getCacheLevel(); + assertThat(cacheLevel).isBetween(0, 4); + uniqueValues.add(cacheLevel); + }); + assertThat(uniqueValues).hasSize(5); } - private static Stream streamCacheConstants() { + private static Stream streamCacheConstants() { return Arrays.stream(DefaultMessageListenerContainer.class.getFields()) .filter(ReflectionUtils::isPublicStaticFinal) - .filter(field -> field.getName().startsWith("CACHE_")); + .filter(field -> field.getName().startsWith("CACHE_")) + .map(Field::getName); } private static DefaultMessageListenerContainer createRunningContainer() { diff --git a/spring-jms/src/test/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfigTests.java b/spring-jms/src/test/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfigTests.java index 811770def0..f4ee58b594 100644 --- a/spring-jms/src/test/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfigTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfigTests.java @@ -18,6 +18,8 @@ package org.springframework.jms.listener.endpoint; import java.lang.reflect.Field; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import java.util.stream.Stream; import jakarta.jms.Session; @@ -25,8 +27,8 @@ import org.junit.jupiter.api.Test; import org.springframework.util.ReflectionUtils; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.assertj.core.api.Assertions.assertThatNoException; /** * Tests for {@link JmsActivationSpecConfig}. @@ -53,15 +55,21 @@ class JmsActivationSpecConfigTests { */ @Test void setAcknowledgeModeNameToAllSupportedValues() { - streamAcknowledgeModeConstants() - .map(Field::getName) - .forEach(name -> assertThatNoException().isThrownBy(() -> specConfig.setAcknowledgeModeName(name))); + Set uniqueValues = new HashSet<>(); + streamAcknowledgeModeConstants().forEach(name -> { + specConfig.setAcknowledgeModeName(name); + int acknowledgeMode = specConfig.getAcknowledgeMode(); + assertThat(acknowledgeMode).isBetween(0, 3); + uniqueValues.add(acknowledgeMode); + }); + assertThat(uniqueValues).hasSize(4); } - private static Stream streamAcknowledgeModeConstants() { + private static Stream streamAcknowledgeModeConstants() { return Arrays.stream(Session.class.getFields()) - .filter(ReflectionUtils::isPublicStaticFinal); + .filter(ReflectionUtils::isPublicStaticFinal) + .map(Field::getName); } } diff --git a/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java b/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java index 5ab60a5a65..8e914e9915 100644 --- a/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java @@ -18,6 +18,8 @@ package org.springframework.jms.support; import java.lang.reflect.Field; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import java.util.stream.Stream; import jakarta.jms.Session; @@ -27,7 +29,6 @@ import org.springframework.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.assertj.core.api.Assertions.assertThatNoException; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; @@ -84,15 +85,22 @@ class JmsAccessorTests { */ @Test void setSessionAcknowledgeModeNameToAllSupportedValues() { + Set uniqueValues = new HashSet<>(); streamAcknowledgeModeConstants() - .map(Field::getName) - .forEach(name -> assertThatNoException().isThrownBy(() -> accessor.setSessionAcknowledgeModeName(name))); + .forEach(name -> { + accessor.setSessionAcknowledgeModeName(name); + int sessionAcknowledgeMode = accessor.getSessionAcknowledgeMode(); + assertThat(sessionAcknowledgeMode).isBetween(0, 3); + uniqueValues.add(sessionAcknowledgeMode); + }); + assertThat(uniqueValues).hasSize(4); } - private static Stream streamAcknowledgeModeConstants() { + private static Stream streamAcknowledgeModeConstants() { return Arrays.stream(Session.class.getFields()) - .filter(ReflectionUtils::isPublicStaticFinal); + .filter(ReflectionUtils::isPublicStaticFinal) + .map(Field::getName); } @Test diff --git a/spring-tx/src/test/java/org/springframework/transaction/support/TransactionSupportTests.java b/spring-tx/src/test/java/org/springframework/transaction/support/TransactionSupportTests.java index 842f7508f1..fb344e4573 100644 --- a/spring-tx/src/test/java/org/springframework/transaction/support/TransactionSupportTests.java +++ b/spring-tx/src/test/java/org/springframework/transaction/support/TransactionSupportTests.java @@ -293,7 +293,7 @@ class TransactionSupportTests { assertThat(transactionSynchronization).isEqualTo(expected); uniqueValues.add(transactionSynchronization); }); - assertThat(uniqueValues).hasSize(AbstractPlatformTransactionManager.constants.size()); + assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(AbstractPlatformTransactionManager.constants.values()); } @Test @@ -348,7 +348,7 @@ class TransactionSupportTests { assertThat(propagationBehavior).isEqualTo(expected); uniqueValues.add(propagationBehavior); }); - assertThat(uniqueValues).hasSize(DefaultTransactionDefinition.propagationConstants.size()); + assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(DefaultTransactionDefinition.propagationConstants.values()); } @Test @@ -383,7 +383,7 @@ class TransactionSupportTests { assertThat(isolationLevel).isEqualTo(expected); uniqueValues.add(isolationLevel); }); - assertThat(uniqueValues).hasSize(DefaultTransactionDefinition.isolationConstants.size()); + assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(DefaultTransactionDefinition.isolationConstants.values()); } @Test