Polish for Issue #2655 and PR #2672.

See #2655
Original pull request: #2672
This commit is contained in:
John Blum
2023-09-14 16:32:54 -07:00
parent b5f124cfd8
commit dc0756f94e
13 changed files with 172 additions and 80 deletions

View File

@@ -36,7 +36,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
@ExtendWith(LettuceConnectionFactoryExtension.class)
public class ReactiveStringRedisTemplateIntegrationTests {
private ReactiveRedisConnectionFactory connectionFactory;
private final ReactiveRedisConnectionFactory connectionFactory;
private ReactiveStringRedisTemplate template;
@@ -66,17 +66,16 @@ public class ReactiveStringRedisTemplateIntegrationTests {
template.opsForValue().set("a", "1").as(StepVerifier::create).expectNext(true).verifyComplete();
template.opsForValue().set("b", "1").as(StepVerifier::create).expectNext(true).verifyComplete();
RedisElementWriter<String> writer = RedisElementWriter.from(StringRedisSerializer.UTF_8);
RedisElementReader<String> reader = RedisElementReader.from(StringRedisSerializer.UTF_8);
RedisElementWriter<String> writer = RedisElementWriter.from(StringRedisSerializer.UTF_8);
RedisSerializationContext<String, String> nullReadingContext = RedisSerializationContext
.<String, String> newSerializationContext(StringRedisSerializer.UTF_8).key(buffer -> {
.<String, String>newSerializationContext(StringRedisSerializer.UTF_8).key(buffer -> {
String read = reader.read(buffer);
if ("a".equals(read)) {
return null;
}
return read;
return "a".equals(read) ? null : read;
}, writer).build();
ReactiveRedisTemplate<String, String> customTemplate = new ReactiveRedisTemplate<>(template.getConnectionFactory(),

View File

@@ -16,6 +16,7 @@
package org.springframework.data.redis.util;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.mockito.Mockito.doReturn;
@@ -31,6 +32,8 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.dao.InvalidDataAccessApiUsageException;
/**
* Unit Tests for {@link RedisAssertions}.
*
@@ -78,6 +81,24 @@ class RedisAssertionsUnitTests {
verifyNoMoreInteractions(this.mockSupplier);
}
@Test
void requireNonNullWithRuntimeExceptionSupplierIsSuccessful() {
assertThat(RedisAssertions.requireNonNull("mock", () -> new InvalidDataAccessApiUsageException("TEST")))
.isEqualTo("mock");
}
@Test
@SuppressWarnings("all")
void requireNonNullWithThrowsRuntimeException() {
assertThatExceptionOfType(InvalidDataAccessApiUsageException.class)
.isThrownBy(() -> RedisAssertions.requireNonNull(null,
() -> new InvalidDataAccessApiUsageException("TEST")))
.withMessage("TEST")
.withNoCause();
}
@Test
void requireStateWithMessageAndArgumentsIsSuccessful() {
assertThat(RedisAssertions.requireState("test", "Mock message")).isEqualTo("test");