package io.katharsis.dispatcher.controller; import com.fasterxml.jackson.databind.ObjectMapper; import io.katharsis.jackson.JsonApiModuleBuilder; import io.katharsis.locator.SampleJsonServiceLocator; import io.katharsis.queryParams.QueryParams; import io.katharsis.request.path.PathBuilder; import io.katharsis.resource.field.ResourceFieldNameTransformer; import io.katharsis.resource.include.IncludeLookupSetter; 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.utils.parser.TypeParser; import org.junit.Before; import org.junit.Rule; import org.junit.rules.ExpectedException; public abstract class BaseControllerTest { protected static final QueryParams REQUEST_PARAMS = new QueryParams(); protected ObjectMapper objectMapper; protected PathBuilder pathBuilder; protected ResourceRegistry resourceRegistry; protected TypeParser typeParser; protected IncludeLookupSetter includeFieldSetter; @Rule public ExpectedException expectedException = ExpectedException.none(); @Before public void prepare() { ResourceInformationBuilder resourceInformationBuilder = new ResourceInformationBuilder( new ResourceFieldNameTransformer()); ResourceRegistryBuilder registryBuilder = new ResourceRegistryBuilder(new SampleJsonServiceLocator(), resourceInformationBuilder); resourceRegistry = registryBuilder .build(ResourceRegistryBuilderTest.TEST_MODELS_PACKAGE, ResourceRegistryTest.TEST_MODELS_URL); pathBuilder = new PathBuilder(resourceRegistry); typeParser = new TypeParser(); includeFieldSetter = new IncludeLookupSetter(resourceRegistry); objectMapper = new ObjectMapper(); objectMapper.registerModule(new JsonApiModuleBuilder().build(resourceRegistry)); } }