@Override public Response handle(Stage.Invoke argument) { if (validator != null) { Set<ConstraintViolation<Object>> violations = validator.forExecutables().validateParameters(argument.getController(), argument.getMethod(), argument.getArguments()); if (violations.size() > 0) { return new ValidationError(violations); } } return argument.invoke(); }
@Test public void testLifeCycle() throws Exception { MockApplication app = application("juzu.lifecycle").init(); MockClient client = app.client(); o = null; client.render(); ValidationError error = assertInstanceOf(ValidationError.class, o); Set<ConstraintViolation<Object>> violations = error.getViolations(); assertEquals(1, violations.size()); } }
@Test public void testLifeCycle() throws Exception { MockApplication app = application("juzu.lifecycle").init(); MockClient client = app.client(); o = null; client.render(); ValidationError error = assertInstanceOf(ValidationError.class, o); Set<ConstraintViolation<Object>> violations = error.getViolations(); assertEquals(1, violations.size()); } }
@Test public void testValidation() throws Exception { MockApplication app = application("juzu.simple").init(); MockClient client = app.client(); MockViewBridge render = client.render(); ValidationError va = assertInstanceOf(ValidationError.class, render.getResponse()); Set<ConstraintViolation<Object>> violations = va.getViolations(); assertEquals(1, violations.size()); ConstraintViolation<Object> violation = violations.iterator().next(); assertEquals("may not be null", violation.getMessage()); Iterator<Path.Node> path = violation.getPropertyPath().iterator(); Path.Node n1 = path.next(); assertEquals("index", n1.getName()); assertEquals(ElementKind.METHOD, n1.getKind()); Path.Node n2 = path.next(); assertEquals("mandatory", n2.getName()); assertEquals(ElementKind.PARAMETER, n2.getKind()); assertFalse(path.hasNext()); }
@Override public Response handle(Stage.Invoke argument) { if (validator != null) { Set<ConstraintViolation<Object>> violations = validator.forExecutables().validateParameters(argument.getController(), argument.getMethod(), argument.getArguments()); if (violations.size() > 0) { return new ValidationError(violations); } } return argument.invoke(); }
@Test public void testValidation() throws Exception { MockApplication app = application("juzu.simple").init(); MockClient client = app.client(); MockViewBridge render = client.render(); ValidationError va = assertInstanceOf(ValidationError.class, render.getResponse()); Set<ConstraintViolation<Object>> violations = va.getViolations(); assertEquals(1, violations.size()); ConstraintViolation<Object> violation = violations.iterator().next(); assertEquals("may not be null", violation.getMessage()); Iterator<Path.Node> path = violation.getPropertyPath().iterator(); Path.Node n1 = path.next(); assertEquals("index", n1.getName()); assertEquals(ElementKind.METHOD, n1.getKind()); Path.Node n2 = path.next(); assertEquals("mandatory", n2.getName()); assertEquals(ElementKind.PARAMETER, n2.getKind()); assertFalse(path.hasNext()); }