use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.
the class QuerySpecClientTest method testSaveRelationWithSave.
@Test
public void testSaveRelationWithSave() {
Schedule schedule = new Schedule();
schedule.setId(1L);
schedule.setName("schedule");
scheduleRepo.create(schedule);
Task task = new Task();
task.setId(2L);
task.setName("test");
taskRepo.create(task);
Task createdTask = taskRepo.findOne(task.getId(), new QuerySpec(Task.class));
Assert.assertNull(createdTask.getSchedule());
createdTask.setSchedule(schedule);
taskRepo.save(createdTask);
Task updatedTask = taskRepo.findOne(task.getId(), new QuerySpec(Task.class));
Assert.assertNotNull(updatedTask.getSchedule());
}
use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.
the class QuerySpecClientTest method testCannotNullLazyRelationWithSave.
@Test
public void testCannotNullLazyRelationWithSave() {
Task task = new Task();
task.setId(2L);
task.setName("test");
taskRepo.create(task);
Schedule schedule = new Schedule();
schedule.setId(1L);
schedule.setName("schedule");
schedule.setLazyTask(task);
scheduleRepo.create(schedule);
// since lazy, will not be sent to client if not requested
QuerySpec querySpec = new QuerySpec(Schedule.class);
Schedule savedSchedule = scheduleRepo.findOne(schedule.getId(), querySpec);
Assert.assertNull(savedSchedule.getLazyTask());
querySpec.includeRelation(Arrays.asList("lazyTask"));
savedSchedule = scheduleRepo.findOne(schedule.getId(), querySpec);
Assert.assertNotNull(savedSchedule.getLazyTask());
// null
savedSchedule.setLazyTask(task);
scheduleRepo.save(savedSchedule);
// still not null because cannot differantiate between not loaded and
// nulled
Schedule updatedSchedule = scheduleRepo.findOne(schedule.getId(), querySpec);
Assert.assertNotNull(updatedSchedule.getLazyTask());
}
use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.
the class HeadersTest method testClientHeadersOnGet.
@Test
public void testClientHeadersOnGet() {
clearLastReceivedHeaders();
List<Task> tasks = taskRepo.findAll(new QueryParams());
Assert.assertTrue(tasks.isEmpty());
assertHasHeaderValue("Accept", EXPECTED_CONTENT_TYPE);
}
use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.
the class CharsetTest method testUTF8isDefault.
public void testUTF8isDefault(boolean okHttp) throws InstantiationException, IllegalAccessException {
requestContentType = null;
responseContentType = null;
if (okHttp) {
OkHttpAdapter adapter = OkHttpAdapter.newInstance();
adapter.addListener(new OkHttpAdapterListener() {
@Override
public void onBuild(OkHttpClient.Builder builder) {
builder.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
requestContentType = chain.request().header(HttpHeaders.HTTP_CONTENT_TYPE);
Response response = chain.proceed(chain.request());
responseContentType = response.header(HttpHeaders.HTTP_CONTENT_TYPE);
return response;
}
});
}
});
client.setHttpAdapter(adapter);
} else {
HttpClientAdapter adapter = HttpClientAdapter.newInstance();
adapter.addListener(new HttpClientAdapterListener() {
@Override
public void onBuild(HttpClientBuilder builder) {
builder.addInterceptorFirst(new HttpRequestInterceptor() {
@Override
public void process(HttpRequest httpRequest, HttpContext httpContext) throws HttpException, IOException {
Header header = httpRequest.getFirstHeader(HttpHeaders.HTTP_CONTENT_TYPE);
requestContentType = header != null ? header.getValue() : null;
}
});
builder.addInterceptorFirst(new HttpResponseInterceptor() {
@Override
public void process(HttpResponse httpResponse, HttpContext httpContext) throws HttpException, IOException {
Header header = httpResponse.getFirstHeader(HttpHeaders.HTTP_CONTENT_TYPE);
responseContentType = header != null ? header.getValue() : null;
}
});
}
});
client.setHttpAdapter(adapter);
}
ResourceRepositoryV2<Task, Long> testRepo = client.getRepositoryForType(Task.class);
Task entity = new Task();
entity.setId(1L);
entity.setName("äöüé@¢€");
testRepo.create(entity);
Assert.assertEquals(HttpHeaders.JSONAPI_CONTENT_TYPE_AND_CHARSET, requestContentType);
Assert.assertEquals(HttpHeaders.JSONAPI_CONTENT_TYPE_AND_CHARSET, responseContentType);
Task savedEntity = testRepo.findOne(1L, new QuerySpec(Task.class));
Assert.assertEquals(entity.getName(), savedEntity.getName());
Assert.assertNull(requestContentType);
Assert.assertEquals(HttpHeaders.JSONAPI_CONTENT_TYPE_AND_CHARSET, responseContentType);
}
use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.
the class ExceptionTest method testUnknownExceptionMapping.
@Test
public void testUnknownExceptionMapping() {
Task task = new Task();
task.setId(10001L);
task.setName("test");
try {
taskRepo.create(task);
Assert.fail();
} catch (InternalServerErrorException e) {
// ok
}
}
Aggregations