package com.supwisdom.dlpay.api.bean;
+import com.supwisdom.dlpay.api.util.IDTypes;
+import com.supwisdom.dlpay.api.util.SexTypes;
import org.junit.Test;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public void testCitizenPay() {
CitizenCardPayinitParam param = new CitizenCardPayinitParam();
- Set<ConstraintViolation<CitizenCardPayinitParam>> violations = validator.validate(param);
+ List<ConstraintViolation<CitizenCardPayinitParam>> violations = validate(param);
+ String message = getViolationMessage(violations);
+ assertFalse(message, violations.isEmpty());
+ }
+
+ private <T> List<ConstraintViolation<T>> validate(T param) {
+ Set<ConstraintViolation<T>> violations = validator.validate(param);
+ List<ConstraintViolation<T>> result = StreamSupport.stream(violations.spliterator(), false)
+ .collect(Collectors.toList());
+ return result;
+ }
+
+ private <T> String getViolationMessage(List<ConstraintViolation<T>> violations) {
StringBuilder message = new StringBuilder();
- for (ConstraintViolation<CitizenCardPayinitParam> item : violations) {
+ for (ConstraintViolation<T> item : violations) {
message.append(item.getMessage()).append("\n");
}
- assertFalse(message.toString(), violations.isEmpty());
+ return message.toString();
}
@Test
public void testOpenUserParam() {
OpenUserParam param = new OpenUserParam();
- param.setIdtype("12323");
- Set<ConstraintViolation<OpenUserParam>> violations = validator.validate(param);
- StringBuilder message = new StringBuilder();
- for (ConstraintViolation<OpenUserParam> item : violations) {
- message.append(item.getMessage()).append("\n");
- }
- assertFalse(message.toString(), violations.isEmpty());
+ List<ConstraintViolation<OpenUserParam>> result = validate(param);
+ assertFalse(getViolationMessage(result), result.isEmpty());
+
+ param.setIdtype(IDTypes.IDTYPE_IDCARD.value());
+ param.setIdno("123213");
+ param.setUid("1231323");
+ param.setName("lily");
+ param.setSex(SexTypes.MALE.value());
+ param.setMobile("+8618272733888");
+
+ result = validate(param);
+ assertTrue(getViolationMessage(result), result.isEmpty());
+
}
}
\ No newline at end of file