Search in sources :

Example 1 with Task

use of io.crnk.validation.mock.models.Task in project crnk-framework by crnk-project.

the class ValidationEndToEndTest method testRelationProperty.

@Test
public void testRelationProperty() {
    Task task = new Task();
    task.setId(1L);
    task.setName("test");
    taskRepo.create(task);
    task.setName(ComplexValidator.INVALID_NAME);
    Project project = new Project();
    project.setName("test");
    project.setTask(task);
    try {
        projectRepo.create(project);
    } catch (ConstraintViolationException e) {
        Set<ConstraintViolation<?>> violations = e.getConstraintViolations();
        Assert.assertEquals(1, violations.size());
        ConstraintViolationImpl violation = (ConstraintViolationImpl) violations.iterator().next();
        Assert.assertEquals("{complex.message}", violation.getMessageTemplate());
        Assert.assertEquals("task", violation.getPropertyPath().toString());
        Assert.assertEquals("/data/relationships/task", violation.getErrorData().getSourcePointer());
    }
}
Also used : Project(io.crnk.validation.mock.models.Project) Task(io.crnk.validation.mock.models.Task) Set(java.util.Set) HashSet(java.util.HashSet) ConstraintViolationImpl(io.crnk.validation.internal.ConstraintViolationImpl) ConstraintViolationException(javax.validation.ConstraintViolationException) Test(org.junit.Test)

Example 2 with Task

use of io.crnk.validation.mock.models.Task in project crnk-framework by crnk-project.

the class ValidationEndToEndTest method testPropertyOnRelation.

@Test
public void testPropertyOnRelation() {
    Task task = new Task();
    task.setId(1L);
    task.setName("test");
    taskRepo.create(task);
    task.setName(null);
    Project project = new Project();
    project.setId(2L);
    project.setName("test");
    project.getTasks().add(task);
    try {
        projectRepo.create(project);
    } catch (ConstraintViolationException e) {
        Set<ConstraintViolation<?>> violations = e.getConstraintViolations();
        Assert.assertEquals(1, violations.size());
        ConstraintViolationImpl violation = (ConstraintViolationImpl) violations.iterator().next();
        Assert.assertEquals("{javax.validation.constraints.NotNull.message}", violation.getMessageTemplate());
        Assert.assertEquals("tasks[0]", violation.getPropertyPath().toString());
        Assert.assertEquals("/data/relationships/tasks/0", violation.getErrorData().getSourcePointer());
    }
}
Also used : Project(io.crnk.validation.mock.models.Project) Task(io.crnk.validation.mock.models.Task) Set(java.util.Set) HashSet(java.util.HashSet) ConstraintViolationImpl(io.crnk.validation.internal.ConstraintViolationImpl) ConstraintViolationException(javax.validation.ConstraintViolationException) Test(org.junit.Test)

Example 3 with Task

use of io.crnk.validation.mock.models.Task in project crnk-framework by crnk-project.

the class TaskToProjectRepository method findOneTarget.

@Override
public Project findOneTarget(Long sourceId, String fieldName, QueryParams queryParams) {
    for (Relation<Task> relation : THREAD_LOCAL_REPOSITORY.keySet()) {
        if (relation.getSource().getId().equals(sourceId) && relation.getFieldName().equals(fieldName)) {
            Project project = new Project();
            project.setId((Long) relation.getTargetId());
            return project;
        }
    }
    return null;
}
Also used : Project(io.crnk.validation.mock.models.Project) Task(io.crnk.validation.mock.models.Task)

Example 4 with Task

use of io.crnk.validation.mock.models.Task in project crnk-framework by crnk-project.

the class TaskToProjectRepository method findManyTargets.

@Override
public Iterable<Project> findManyTargets(Long sourceId, String fieldName, QueryParams queryParams) {
    List<Project> projects = new LinkedList<>();
    for (Relation<Task> relation : THREAD_LOCAL_REPOSITORY.keySet()) {
        if (relation.getSource().getId().equals(sourceId) && relation.getFieldName().equals(fieldName)) {
            Project project = new Project();
            project.setId((Long) relation.getTargetId());
            projects.add(project);
        }
    }
    return projects;
}
Also used : Project(io.crnk.validation.mock.models.Project) Task(io.crnk.validation.mock.models.Task) LinkedList(java.util.LinkedList)

Aggregations

Project (io.crnk.validation.mock.models.Project)4 Task (io.crnk.validation.mock.models.Task)4 ConstraintViolationImpl (io.crnk.validation.internal.ConstraintViolationImpl)2 HashSet (java.util.HashSet)2 Set (java.util.Set)2 ConstraintViolationException (javax.validation.ConstraintViolationException)2 Test (org.junit.Test)2 LinkedList (java.util.LinkedList)1