Search in sources :

Example 11 with Task

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());
}
Also used : Task(io.crnk.test.mock.models.Task) Schedule(io.crnk.test.mock.models.Schedule) QuerySpec(io.crnk.core.queryspec.QuerySpec) Test(org.junit.Test)

Example 12 with Task

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());
}
Also used : Task(io.crnk.test.mock.models.Task) Schedule(io.crnk.test.mock.models.Schedule) QuerySpec(io.crnk.core.queryspec.QuerySpec) Test(org.junit.Test)

Example 13 with Task

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);
}
Also used : Task(io.crnk.test.mock.models.Task) QueryParams(io.crnk.legacy.queryParams.QueryParams) Test(org.junit.Test)

Example 14 with Task

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);
}
Also used : HttpRequest(org.apache.http.HttpRequest) Task(io.crnk.test.mock.models.Task) OkHttpClient(okhttp3.OkHttpClient) HttpContext(org.apache.http.protocol.HttpContext) HttpResponse(org.apache.http.HttpResponse) HttpClientBuilder(org.apache.http.impl.client.HttpClientBuilder) HttpClientAdapterListener(io.crnk.client.http.apache.HttpClientAdapterListener) Response(okhttp3.Response) HttpResponse(org.apache.http.HttpResponse) HttpClientAdapter(io.crnk.client.http.apache.HttpClientAdapter) Header(org.apache.http.Header) OkHttpAdapterListener(io.crnk.client.http.okhttp.OkHttpAdapterListener) HttpRequestInterceptor(org.apache.http.HttpRequestInterceptor) OkHttpAdapter(io.crnk.client.http.okhttp.OkHttpAdapter) HttpResponseInterceptor(org.apache.http.HttpResponseInterceptor) QuerySpec(io.crnk.core.queryspec.QuerySpec) Interceptor(okhttp3.Interceptor) HttpResponseInterceptor(org.apache.http.HttpResponseInterceptor) HttpRequestInterceptor(org.apache.http.HttpRequestInterceptor)

Example 15 with Task

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
    }
}
Also used : Task(io.crnk.test.mock.models.Task) InternalServerErrorException(io.crnk.core.exception.InternalServerErrorException) Test(org.junit.Test)

Aggregations

Task (io.crnk.test.mock.models.Task)53 Test (org.junit.Test)42 QuerySpec (io.crnk.core.queryspec.QuerySpec)27 Project (io.crnk.test.mock.models.Project)11 Schedule (io.crnk.test.mock.models.Schedule)10 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)9 QueryParams (io.crnk.legacy.queryParams.QueryParams)6 ObjectProxy (io.crnk.client.internal.proxy.ObjectProxy)5 JsonNode (com.fasterxml.jackson.databind.JsonNode)4 Resource (io.crnk.core.engine.document.Resource)4 ResourceInformation (io.crnk.core.engine.information.resource.ResourceInformation)4 Span (org.springframework.cloud.sleuth.Span)4 SortSpec (io.crnk.core.queryspec.SortSpec)3 DefaultResourceList (io.crnk.core.resource.list.DefaultResourceList)3 TaskRepository (io.crnk.test.mock.repository.TaskRepository)3 Interceptor (okhttp3.Interceptor)3 Before (org.junit.Before)3 OkHttpAdapter (io.crnk.client.http.okhttp.OkHttpAdapter)2 OkHttpAdapterListener (io.crnk.client.http.okhttp.OkHttpAdapterListener)2 FilterSpec (io.crnk.core.queryspec.FilterSpec)2