|
|
|
@ -22,6 +22,7 @@ import java.util.Locale; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.function.Consumer; |
|
|
|
import java.util.function.Consumer; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import jakarta.validation.ConstraintViolation; |
|
|
|
import jakarta.validation.Valid; |
|
|
|
import jakarta.validation.Valid; |
|
|
|
import jakarta.validation.constraints.Max; |
|
|
|
import jakarta.validation.constraints.Max; |
|
|
|
import jakarta.validation.constraints.Min; |
|
|
|
import jakarta.validation.constraints.Min; |
|
|
|
@ -99,7 +100,7 @@ class MethodValidationAdapterTests { |
|
|
|
default message [must not be blank]""")); |
|
|
|
default message [must not be blank]""")); |
|
|
|
|
|
|
|
|
|
|
|
assertValueResult(ex.getValueResults().get(0), 2, 3, List.of(""" |
|
|
|
assertValueResult(ex.getValueResults().get(0), 2, 3, List.of(""" |
|
|
|
org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
org.springframework.validation.beanvalidation.MethodValidationAdapter$ViolationMessageSourceResolvable: \ |
|
|
|
codes [Max.myService#addStudent.degrees,Max.degrees,Max.int,Max]; \ |
|
|
|
codes [Max.myService#addStudent.degrees,Max.degrees,Max.int,Max]; \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
codes [myService#addStudent.degrees,degrees]; arguments []; default message [degrees],2]; \ |
|
|
|
codes [myService#addStudent.degrees,degrees]; arguments []; default message [degrees],2]; \ |
|
|
|
@ -136,7 +137,7 @@ class MethodValidationAdapterTests { |
|
|
|
assertThat(ex.getAllValidationResults()).hasSize(1); |
|
|
|
assertThat(ex.getAllValidationResults()).hasSize(1); |
|
|
|
|
|
|
|
|
|
|
|
assertValueResult(ex.getValueResults().get(0), -1, 4, List.of(""" |
|
|
|
assertValueResult(ex.getValueResults().get(0), -1, 4, List.of(""" |
|
|
|
org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
org.springframework.validation.beanvalidation.MethodValidationAdapter$ViolationMessageSourceResolvable: \ |
|
|
|
codes [Min.myService#getIntValue,Min,Min.int]; \ |
|
|
|
codes [Min.myService#getIntValue,Min,Min.int]; \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
codes [myService#getIntValue]; arguments []; default message [],5]; \ |
|
|
|
codes [myService#getIntValue]; arguments []; default message [],5]; \ |
|
|
|
@ -204,7 +205,7 @@ class MethodValidationAdapterTests { |
|
|
|
testArgs(target, method, new Object[] {List.of(" ")}, ex -> { |
|
|
|
testArgs(target, method, new Object[] {List.of(" ")}, ex -> { |
|
|
|
assertThat(ex.getAllValidationResults()).hasSize(1); |
|
|
|
assertThat(ex.getAllValidationResults()).hasSize(1); |
|
|
|
assertValueResult(ex.getValueResults().get(0), 0, " ", List.of(""" |
|
|
|
assertValueResult(ex.getValueResults().get(0), 0, " ", List.of(""" |
|
|
|
org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
org.springframework.validation.beanvalidation.MethodValidationAdapter$ViolationMessageSourceResolvable: \ |
|
|
|
codes [NotBlank.myService#addHobbies.hobbies,NotBlank.hobbies,NotBlank.java.util.List,NotBlank]; \ |
|
|
|
codes [NotBlank.myService#addHobbies.hobbies,NotBlank.hobbies,NotBlank.java.util.List,NotBlank]; \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
codes [myService#addHobbies.hobbies,hobbies]; \ |
|
|
|
codes [myService#addHobbies.hobbies,hobbies]; \ |
|
|
|
@ -220,7 +221,7 @@ class MethodValidationAdapterTests { |
|
|
|
testArgs(target, method, new Object[] {Set.of("test", " ")}, ex -> { |
|
|
|
testArgs(target, method, new Object[] {Set.of("test", " ")}, ex -> { |
|
|
|
assertThat(ex.getAllValidationResults()).hasSize(1); |
|
|
|
assertThat(ex.getAllValidationResults()).hasSize(1); |
|
|
|
assertValueResult(ex.getValueResults().get(0), 0, Set.of("test", " "), List.of(""" |
|
|
|
assertValueResult(ex.getValueResults().get(0), 0, Set.of("test", " "), List.of(""" |
|
|
|
org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
org.springframework.validation.beanvalidation.MethodValidationAdapter$ViolationMessageSourceResolvable: \ |
|
|
|
codes [NotBlank.myService#addUniqueHobbies.hobbies,NotBlank.hobbies,NotBlank.java.util.Set,NotBlank]; \ |
|
|
|
codes [NotBlank.myService#addUniqueHobbies.hobbies,NotBlank.hobbies,NotBlank.java.util.Set,NotBlank]; \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: \ |
|
|
|
codes [myService#addUniqueHobbies.hobbies,hobbies]; \ |
|
|
|
codes [myService#addUniqueHobbies.hobbies,hobbies]; \ |
|
|
|
@ -254,9 +255,14 @@ class MethodValidationAdapterTests { |
|
|
|
|
|
|
|
|
|
|
|
assertThat(result.getMethodParameter().getParameterIndex()).isEqualTo(parameterIndex); |
|
|
|
assertThat(result.getMethodParameter().getParameterIndex()).isEqualTo(parameterIndex); |
|
|
|
assertThat(result.getArgument()).isEqualTo(argument); |
|
|
|
assertThat(result.getArgument()).isEqualTo(argument); |
|
|
|
assertThat(result.getResolvableErrors()) |
|
|
|
|
|
|
|
|
|
|
|
List<MessageSourceResolvable> resolvableErrors = result.getResolvableErrors(); |
|
|
|
|
|
|
|
assertThat(resolvableErrors) |
|
|
|
.extracting(MessageSourceResolvable::toString) |
|
|
|
.extracting(MessageSourceResolvable::toString) |
|
|
|
.containsExactlyInAnyOrderElementsOf(errors); |
|
|
|
.containsExactlyInAnyOrderElementsOf(errors); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resolvableErrors.forEach(error -> |
|
|
|
|
|
|
|
assertThat(result.unwrap(error, ConstraintViolation.class)).isNotNull()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static Method getMethod(Object target, String methodName) { |
|
|
|
private static Method getMethod(Object target, String methodName) { |
|
|
|
|