use of io.crnk.core.mock.repository.TaskRepository in project crnk-framework by crnk-project.
the class OppositeFowardingRelationshipRepositoryTest method checkFindTargetWithNullRelationshipValue.
@Test
public void checkFindTargetWithNullRelationshipValue() {
TaskRepository taskRepository = new TaskRepository();
Task task = new Task();
task.setId(13L);
task.setName("task");
taskRepository.save(task);
Task nullIdTask = new Task();
ProjectRepository projectRepository = new ProjectRepository();
Project project = new Project();
project.setId(42L);
project.setName("project");
project.setTasks(Arrays.asList(nullIdTask));
projectRepository.save(project);
relRepository = new ForwardingRelationshipRepository(Task.class, null, ForwardingDirection.OPPOSITE, ForwardingDirection.OPPOSITE);
relRepository.setResourceRegistry(resourceRegistry);
QuerySpec querySpec = new QuerySpec(Task.class);
try {
relRepository.findOneTarget(13L, "project", querySpec);
Assert.fail();
} catch (IllegalStateException e) {
Assert.assertTrue(e.getMessage().contains("id is null for"));
}
}
use of io.crnk.core.mock.repository.TaskRepository in project crnk-framework by crnk-project.
the class OppositeFowardingRelationshipRepositoryTest method checkFindManyTargets.
@Test
public void checkFindManyTargets() {
ProjectRepository projectRepository = new ProjectRepository();
Project project = new Project();
project.setId(42L);
project.setName("project");
projectRepository.save(project);
TaskRepository taskRepository = new TaskRepository();
Task task = new Task();
task.setId(13L);
task.setName("task");
task.setProject(project);
taskRepository.save(task);
relRepository = new ForwardingRelationshipRepository(Project.class, null, ForwardingDirection.OPPOSITE, ForwardingDirection.OPPOSITE);
relRepository.setResourceRegistry(resourceRegistry);
QuerySpec querySpec = new QuerySpec(Task.class);
List<Task> tasks = relRepository.findManyTargets(42L, "tasks", querySpec);
Assert.assertEquals(1, tasks.size());
Assert.assertEquals(13L, tasks.get(0).getId().longValue());
}
use of io.crnk.core.mock.repository.TaskRepository in project crnk-framework by crnk-project.
the class OwnerFowardingRelationshipRepositoryTest method setup.
@Before
public void setup() {
MockRepositoryUtil.clear();
CrnkBoot boot = new CrnkBoot();
boot.setServiceDiscovery(new ReflectionsServiceDiscovery(MockConstants.TEST_MODELS_PACKAGE));
boot.setServiceUrlProvider(new ConstantServiceUrlProvider(ResourceRegistryTest.TEST_MODELS_URL));
boot.boot();
resourceRegistry = boot.getResourceRegistry();
RegistryEntry entry = resourceRegistry.getEntry(RelationIdTestResource.class);
relRepository = (ForwardingRelationshipRepository) entry.getRelationshipRepository("testSerializeEager", null).getRelationshipRepository();
RelationshipMatcher taskProjectMatcher = new RelationshipMatcher().rule().source(Task.class).target(Project.class).add();
taskProjectRepository = new ForwardingRelationshipRepository(Task.class, taskProjectMatcher, ForwardingDirection.OWNER, ForwardingDirection.OWNER);
taskProjectRepository.setResourceRegistry(resourceRegistry);
projectTaskRepository = new ForwardingRelationshipRepository(Project.class, taskProjectMatcher, ForwardingDirection.OWNER, ForwardingDirection.OWNER);
projectTaskRepository.setResourceRegistry(resourceRegistry);
testRepository = (RelationIdTestRepository) entry.getResourceRepository().getResourceRepository();
testRepository.setResourceRegistry(resourceRegistry);
resource = new RelationIdTestResource();
resource.setId(2L);
resource.setName("relationId");
testRepository.create(resource);
scheduleRepository = new ScheduleRepositoryImpl();
schedule3 = new Schedule();
schedule3.setId(3L);
schedule3.setName("schedule");
scheduleRepository.create(schedule3);
for (int i = 0; i < 10; i++) {
schedule = new Schedule();
schedule.setId(4L + i);
schedule.setName("schedule");
scheduleRepository.create(schedule);
projectRepository = new ProjectRepository();
project = new Project();
project.setId(42L + i);
project.setName("project");
projectRepository.save(project);
taskRepository = new TaskRepository();
task = new Task();
task.setId(13L + i);
task.setName("task");
taskRepository.save(task);
}
}
use of io.crnk.core.mock.repository.TaskRepository in project crnk-framework by crnk-project.
the class ResourcePostTest method onNewResourcesAndRelationshipShouldPersistThoseData.
@Test
public void onNewResourcesAndRelationshipShouldPersistThoseData() throws Exception {
// GIVEN
Document newProjectBody = new Document();
Resource data = createProject();
newProjectBody.setData(Nullable.of((Object) data));
JsonPath projectPath = pathBuilder.build("/projects");
ResourcePost sut = new ResourcePost(resourceRegistry, PROPERTIES_PROVIDER, typeParser, objectMapper, documentMapper, modificationFilters);
// WHEN
Response projectResponse = sut.handle(projectPath, emptyProjectQuery, null, newProjectBody);
// THEN
assertThat(projectResponse.getHttpStatus()).isEqualTo(HttpStatus.CREATED_201);
assertThat(projectResponse.getDocument().getData().get()).isExactlyInstanceOf(Resource.class);
assertThat(projectResponse.getDocument().getSingleData().get().getType()).isEqualTo("projects");
Resource persistedProject = projectResponse.getDocument().getSingleData().get();
assertThat(persistedProject.getId()).isNotNull();
assertThat(persistedProject.getAttributes().get("name").asText()).isEqualTo("sample project");
assertThat(persistedProject.getAttributes().get("data").get("data").asText()).isEqualTo("asd");
Long projectId = Long.parseLong(projectResponse.getDocument().getSingleData().get().getId());
Mockito.verify(modificationFilter, Mockito.times(1)).modifyAttribute(Mockito.any(), Mockito.any(ResourceField.class), Mockito.eq("data"), Mockito.any());
/* ------- */
// GIVEN
Document newTasksBody = new Document();
newTasksBody.setData(Nullable.of((Object) createTask()));
newTasksBody.getSingleData().get().getRelationships().put("project", new Relationship(new ResourceIdentifier(projectId.toString(), "projects")));
JsonPath taskPath = pathBuilder.build("/tasks");
// WHEN
Response taskResponse = sut.handle(taskPath, emptyTaskQuery, null, newTasksBody);
// THEN
assertThat(taskResponse.getHttpStatus()).isEqualTo(HttpStatus.CREATED_201);
assertThat(taskResponse.getDocument().getSingleData().get().getType()).isEqualTo("tasks");
String taskId = taskResponse.getDocument().getSingleData().get().getId();
assertThat(taskId).isNotNull();
assertThat(taskResponse.getDocument().getSingleData().get().getAttributes().get("name").asText()).isEqualTo("sample task");
TaskRepository taskRepository = new TaskRepository();
Task persistedTask = taskRepository.findOne(Long.parseLong(taskId), null);
assertThat(persistedTask.getProject().getId()).isEqualTo(projectId);
}
use of io.crnk.core.mock.repository.TaskRepository in project crnk-framework by crnk-project.
the class ResourceFieldContributorTest method setup.
@Before
public void setup() {
MockRepositoryUtil.clear();
contributedRepository = Mockito.spy(new ContributorRelationshipRepository());
SimpleModule testModule = new SimpleModule("test");
testModule.addRepository(new TaskRepository());
testModule.addRepository(new ProjectRepository());
testModule.addRepository(new ProjectToTaskRepository());
testModule.addRepository(contributedRepository);
boot = new CrnkBoot();
boot.setServiceDiscovery(new TestServiceDiscovery());
boot.addModule(testModule);
boot.boot();
}
Aggregations