package io.katharsis.jackson;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.katharsis.locator.SampleJsonServiceLocator;
import io.katharsis.queryParams.QueryParams;
import io.katharsis.request.path.JsonPath;
import io.katharsis.request.path.PathBuilder;
import io.katharsis.resource.field.ResourceFieldNameTransformer;
import io.katharsis.resource.information.ResourceInformationBuilder;
import io.katharsis.resource.registry.ResourceRegistry;
import io.katharsis.resource.registry.ResourceRegistryBuilder;
import io.katharsis.resource.registry.ResourceRegistryBuilderTest;
import io.katharsis.resource.registry.ResourceRegistryTest;
import io.katharsis.response.JsonApiResponse;
import io.katharsis.response.ResourceResponseContext;
import org.junit.Before;
public abstract class BaseSerializerTest {
ObjectMapper sut;
protected ResourceRegistry resourceRegistry;
protected ResourceResponseContext testResponse;
@Before
public void setUp() throws Exception {
ResourceInformationBuilder resourceInformationBuilder = new ResourceInformationBuilder(
new ResourceFieldNameTransformer());
ResourceRegistryBuilder registryBuilder = new ResourceRegistryBuilder(new SampleJsonServiceLocator(),
resourceInformationBuilder);
resourceRegistry = registryBuilder
.build(ResourceRegistryBuilderTest.TEST_MODELS_PACKAGE, ResourceRegistryTest.TEST_MODELS_URL);
JsonApiModuleBuilder jsonApiModuleBuilder = new JsonApiModuleBuilder();
sut = new ObjectMapper();
sut.registerModule(jsonApiModuleBuilder.build(resourceRegistry));
JsonPath jsonPath = new PathBuilder(resourceRegistry).buildPath("/tasks");
testResponse = new ResourceResponseContext(buildResponse(null), jsonPath, new QueryParams());
}
protected JsonApiResponse buildResponse(Object resource) {
return new JsonApiResponse()
.setEntity(resource);
}
}