|
26 | 26 | import jakarta.validation.ConstraintViolationException; |
27 | 27 | import jakarta.validation.Valid; |
28 | 28 | import jakarta.validation.Validation; |
| 29 | +import jakarta.validation.Validator; |
29 | 30 | import jakarta.validation.constraints.Max; |
30 | 31 | import jakarta.validation.constraints.NotBlank; |
31 | 32 | import jakarta.validation.constraints.NotNull; |
@@ -56,54 +57,54 @@ void shouldFailWithNullValidator() { |
56 | 57 |
|
57 | 58 | @Test |
58 | 59 | void shouldIgnoreMethodsWithoutAnnotations() { |
59 | | -BiConsumer<Object, Object[]> validator = createValidator(MyBean.class, "notValidatedMethod"); |
60 | | -assertThat(validator).isNull(); |
| 60 | +assertThat(validateFunction(MyBean.class, "notValidatedMethod")).isNull(); |
61 | 61 | } |
62 | 62 |
|
63 | 63 | @Test |
64 | 64 | void shouldRaiseValidationErrorForAnnotatedParams() { |
65 | 65 | MyBean bean = new MyBean(); |
66 | 66 |
|
67 | | -BiConsumer<Object, Object[]> validator1 = createValidator(MyBean.class, "myValidMethod"); |
| 67 | +BiConsumer<Object, Object[]> validator1 = validateFunction(MyBean.class, "myValidMethod"); |
68 | 68 | assertViolation(() -> validator1.accept(bean, new Object[] {null, 2}), "myValidMethod.arg0"); |
69 | 69 | assertViolation(() -> validator1.accept(bean, new Object[] {"test", 12}), "myValidMethod.arg1"); |
70 | 70 |
|
71 | | -BiConsumer<Object, Object[]> validator2 = createValidator(MyBean.class, "myValidatedParameterMethod"); |
| 71 | +BiConsumer<Object, Object[]> validator2 = validateFunction(MyBean.class, "myValidatedParameterMethod"); |
72 | 72 | assertViolation(() -> validator2.accept(bean, new Object[] {new ConstrainedInput(100)}), "integerValue"); |
73 | 73 |
|
74 | | -BiConsumer<Object, Object[]> validator3 = createValidator(MyBean.class, "myValidArgumentValue"); |
| 74 | +BiConsumer<Object, Object[]> validator3 = validateFunction(MyBean.class, "myValidArgumentValue"); |
75 | 75 | assertViolation(() -> validator3.accept(bean, new Object[] {ArgumentValue.ofNullable("")}), "myValidArgumentValue.arg0"); |
76 | 76 | } |
77 | 77 |
|
78 | 78 | @Test |
79 | 79 | void shouldRaiseValidationErrorForAnnotatedParamsWithGroups() { |
80 | 80 | MyValidationGroupsBean bean = new MyValidationGroupsBean(); |
81 | 81 |
|
82 | | -BiConsumer<Object, Object[]> validator1 = createValidator(MyValidationGroupsBean.class, "myValidMethodWithGroup"); |
| 82 | +BiConsumer<Object, Object[]> validator1 = validateFunction(MyValidationGroupsBean.class, "myValidMethodWithGroup"); |
83 | 83 | assertViolation(() -> validator1.accept(bean, new Object[] {null}), "myValidMethodWithGroup.arg0"); |
84 | 84 |
|
85 | | -BiConsumer<Object, Object[]> validator2 = createValidator(MyValidationGroupsBean.class, "myValidMethodWithGroupOnType"); |
| 85 | +BiConsumer<Object, Object[]> validator2 = validateFunction(MyValidationGroupsBean.class, "myValidMethodWithGroupOnType"); |
86 | 86 | assertViolation(() -> validator2.accept(bean, new Object[] {null}), "myValidMethodWithGroupOnType.arg0"); |
87 | 87 | } |
88 | 88 |
|
89 | 89 | @Test |
90 | 90 | void shouldRecognizeMethodsThatRequireValidation() { |
91 | | -BiConsumer<Object, Object[]> validator1 = createValidator(RequiresValidationBean.class, "processConstrainedValue"); |
| 91 | +BiConsumer<Object, Object[]> validator1 = validateFunction(RequiresValidationBean.class, "processConstrainedValue"); |
92 | 92 | assertThat(validator1).isNotNull(); |
93 | 93 |
|
94 | | -BiConsumer<Object, Object[]> validator2 = createValidator(RequiresValidationBean.class, "processValidInput"); |
| 94 | +BiConsumer<Object, Object[]> validator2 = validateFunction(RequiresValidationBean.class, "processValidInput"); |
95 | 95 | assertThat(validator2).isNotNull(); |
96 | 96 |
|
97 | | -BiConsumer<Object, Object[]> validator3 = createValidator(RequiresValidationBean.class, "processValidatedInput"); |
| 97 | +BiConsumer<Object, Object[]> validator3 = validateFunction(RequiresValidationBean.class, "processValidatedInput"); |
98 | 98 | assertThat(validator3).isNotNull(); |
99 | 99 |
|
100 | | -BiConsumer<Object, Object[]> validator4 = createValidator(RequiresValidationBean.class, "processValue"); |
| 100 | +BiConsumer<Object, Object[]> validator4 = validateFunction(RequiresValidationBean.class, "processValue"); |
101 | 101 | assertThat(validator4).isNull(); |
102 | 102 | } |
103 | 103 |
|
104 | | -private BiConsumer<Object, Object[]> createValidator(Class<?> handlerType, String methodName) { |
105 | | -return ValidationHelper.create(Validation.buildDefaultValidatorFactory().getValidator()) |
106 | | -.getValidationHelperFor(findHandlerMethod(handlerType, methodName)); |
| 104 | +private BiConsumer<Object, Object[]> validateFunction(Class<?> handlerType, String methodName) { |
| 105 | +Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); |
| 106 | +ValidationHelper helper = ValidationHelper.create(validator); |
| 107 | +return helper.getValidationHelperFor(findHandlerMethod(handlerType, methodName)); |
107 | 108 | } |
108 | 109 |
|
109 | 110 | private HandlerMethod findHandlerMethod(Class<?> handlerType, String methodName) { |
|
0 commit comments