use of io.crnk.core.engine.dispatcher.Response in project crnk-framework by crnk-project.
the class ResourceFilterTest method testFilterResource.
@Test
public void testFilterResource() {
ResourceInformation resourceInformation = resourceRegistry.getEntry(Task.class).getResourceInformation();
String path = "/tasks/";
String method = HttpMethod.GET.toString();
Map<String, Set<String>> parameters = Collections.emptyMap();
Document requestBody = null;
// forbid resource
Mockito.when(filter.filterResource(Mockito.eq(resourceInformation), Mockito.any(HttpMethod.class))).thenReturn(FilterBehavior.FORBIDDEN);
Response response = boot.getRequestDispatcher().dispatchRequest(path, method, parameters, null, requestBody);
Assert.assertEquals(HttpStatus.FORBIDDEN_403, response.getHttpStatus().intValue());
// allow resource
Mockito.when(filter.filterResource(Mockito.eq(resourceInformation), Mockito.any(HttpMethod.class))).thenReturn(FilterBehavior.NONE);
response = boot.getRequestDispatcher().dispatchRequest(path, method, parameters, null, requestBody);
Assert.assertEquals(HttpStatus.OK_200, response.getHttpStatus().intValue());
}
use of io.crnk.core.engine.dispatcher.Response in project crnk-framework by crnk-project.
the class ResourceFieldContributorTest method checkInclusionUponRequest.
@Test
public void checkInclusionUponRequest() {
TaskRepository repo = new TaskRepository();
Task task = new Task();
task.setId(1L);
task.setName("someTask");
repo.save(task);
HttpRequestProcessorImpl requestDispatcher = boot.getRequestDispatcher();
HttpRequestContextProvider httpRequestContextProvider = boot.getModuleRegistry().getHttpRequestContextProvider();
HttpRequestContext request = Mockito.mock(HttpRequestContext.class);
httpRequestContextProvider.onRequestStarted(request);
Map<String, Set<String>> parameters = new HashMap<>();
parameters.put("include", Sets.newHashSet("contributedProject"));
Response response = requestDispatcher.dispatchRequest("tasks", "GET", parameters, null, null);
Document document = response.getDocument();
Resource resource = document.getCollectionData().get().get(0);
Assert.assertEquals("1", resource.getId());
Assert.assertEquals("tasks", resource.getType());
Assert.assertEquals("someTask", resource.getAttributes().get("name").asText());
Relationship relationship = resource.getRelationships().get("contributedProject");
Assert.assertNotNull(relationship);
ResourceIdentifier relationshipId = relationship.getSingleData().get();
Assert.assertEquals("projects", relationshipId.getType());
Assert.assertEquals("11", relationshipId.getId());
List<Resource> included = document.getIncluded();
Assert.assertEquals(1, included.size());
Resource includedResource = included.get(0);
Assert.assertEquals("projects", includedResource.getType());
Assert.assertEquals("11", includedResource.getId());
Assert.assertEquals("someProject", includedResource.getAttributes().get("name").asText());
}
Aggregations