Skip to content

Commit

Permalink
Polish tests for configuration constants
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrannen committed Jul 31, 2023
1 parent 48eb477 commit 0eda441
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ void sunnyDayPathLogsCorrectlyWithPrettyMuchAllPlaceholdersMatching() throws Thr
@Test
@SuppressWarnings("deprecation")
void supportedPlaceholderValues() {
assertThat(ALLOWED_PLACEHOLDERS).containsAll(getPlaceholderConstantValues());
assertThat(ALLOWED_PLACEHOLDERS).containsExactlyInAnyOrderElementsOf(getPlaceholderConstantValues());
}

private List<String> getPlaceholderConstantValues() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,15 @@ void setIsolationLevelNameToAllSupportedValues() {
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

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;
Expand All @@ -37,7 +39,6 @@

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;
Expand Down Expand Up @@ -160,16 +161,23 @@ void setCacheLevelNameToUnsupportedValues() {
@Test
void setCacheLevelNameToAllSupportedValues() {
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
Set<Integer> 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<Field> streamCacheConstants() {
private static Stream<String> 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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,17 @@

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;
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}.
Expand All @@ -53,15 +55,21 @@ void setAcknowledgeModeNameToUnsupportedValues() {
*/
@Test
void setAcknowledgeModeNameToAllSupportedValues() {
streamAcknowledgeModeConstants()
.map(Field::getName)
.forEach(name -> assertThatNoException().isThrownBy(() -> specConfig.setAcknowledgeModeName(name)));
Set<Integer> 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<Field> streamAcknowledgeModeConstants() {
private static Stream<String> streamAcknowledgeModeConstants() {
return Arrays.stream(Session.class.getFields())
.filter(ReflectionUtils::isPublicStaticFinal);
.filter(ReflectionUtils::isPublicStaticFinal)
.map(Field::getName);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

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;
Expand All @@ -27,7 +29,6 @@

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;

Expand Down Expand Up @@ -84,15 +85,22 @@ void setSessionAcknowledgeModeNameToUnsupportedValues() {
*/
@Test
void setSessionAcknowledgeModeNameToAllSupportedValues() {
Set<Integer> 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<Field> streamAcknowledgeModeConstants() {
private static Stream<String> streamAcknowledgeModeConstants() {
return Arrays.stream(Session.class.getFields())
.filter(ReflectionUtils::isPublicStaticFinal);
.filter(ReflectionUtils::isPublicStaticFinal)
.map(Field::getName);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ void setTransactionSynchronizationNameToAllSupportedValues() {
assertThat(transactionSynchronization).isEqualTo(expected);
uniqueValues.add(transactionSynchronization);
});
assertThat(uniqueValues).hasSize(AbstractPlatformTransactionManager.constants.size());
assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(AbstractPlatformTransactionManager.constants.values());
}

@Test
Expand Down Expand Up @@ -348,7 +348,7 @@ void setPropagationBehaviorNameToAllSupportedValues() {
assertThat(propagationBehavior).isEqualTo(expected);
uniqueValues.add(propagationBehavior);
});
assertThat(uniqueValues).hasSize(DefaultTransactionDefinition.propagationConstants.size());
assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(DefaultTransactionDefinition.propagationConstants.values());
}

@Test
Expand Down Expand Up @@ -383,7 +383,7 @@ void setIsolationLevelNameToAllSupportedValues() {
assertThat(isolationLevel).isEqualTo(expected);
uniqueValues.add(isolationLevel);
});
assertThat(uniqueValues).hasSize(DefaultTransactionDefinition.isolationConstants.size());
assertThat(uniqueValues).containsExactlyInAnyOrderElementsOf(DefaultTransactionDefinition.isolationConstants.values());
}

@Test
Expand Down

0 comments on commit 0eda441

Please sign in to comment.