提交 36ce4efa 编写于 作者: W william.liangf

DUBBO-290 Validation只验证了第一个参数

git-svn-id: http://code.alibabatech.com/svn/dubbo/trunk@1296 1a56cb94-b969-4eaa-88fa-be21384802f2
上级 e88d675b
......@@ -16,6 +16,7 @@
package com.alibaba.dubbo.config.validation;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
......@@ -31,6 +32,6 @@ public interface ValidationService { // 缺省可按服务接口区分验证场
@interface Update{} // 与方法同名接口,首字母大写,用于区分验证场景,如:@NotNull(groups = ValidationService.Update.class),可选
void update(ValidationParameter parameter);
void delete(@Min(1) long id);
void delete(@Min(1) long id, @NotNull String operator);
}
......@@ -28,7 +28,7 @@ public class ValidationServiceImpl implements ValidationService {
public void update(ValidationParameter parameter) {
}
public void delete(long id) {
public void delete(long id, String operator) {
}
}
......@@ -55,7 +55,7 @@ public class ValidationTest {
ValidationService validationService = reference.get();
try {
// Save OK
ValidationParameter parameter = new ValidationParameter();
/*ValidationParameter parameter = new ValidationParameter();
parameter.setName("liangfei");
parameter.setEmail("liangfei@liang.fei");
parameter.setAge(50);
......@@ -76,16 +76,35 @@ public class ValidationTest {
}
// Delete OK
validationService.delete(2);
validationService.delete(2, "abc");*/
// Delete Error
try {
validationService.delete(0);
validationService.delete(0, "abc");
Assert.fail();
} catch (RpcException e) {
ConstraintViolationException ve = (ConstraintViolationException)e.getCause();
Set<ConstraintViolation<?>> violations = ve.getConstraintViolations();
Assert.assertNotNull(violations);
Assert.assertEquals(1, violations.size());
}
try {
validationService.delete(2, null);
Assert.fail();
} catch (RpcException e) {
ConstraintViolationException ve = (ConstraintViolationException)e.getCause();
Set<ConstraintViolation<?>> violations = ve.getConstraintViolations();
Assert.assertNotNull(violations);
Assert.assertEquals(1, violations.size());
}
try {
validationService.delete(0, null);
Assert.fail();
} catch (RpcException e) {
ConstraintViolationException ve = (ConstraintViolationException)e.getCause();
Set<ConstraintViolation<?>> violations = ve.getConstraintViolations();
Assert.assertNotNull(violations);
Assert.assertEquals(2, violations.size());
}
} finally {
reference.destroy();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册