package org.openmhealth.shim.common.mapper; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.core.io.ClassPathResource; import java.io.IOException; import java.io.InputStream; import static java.lang.String.format; import static org.openmhealth.schema.configuration.JacksonConfiguration.newObjectMapper; /** * @author Emerson Farrugia */ public abstract class DataPointMapperUnitTests { protected static final ObjectMapper objectMapper = newObjectMapper(); /** * @param classPathResourceName the name of the class path resource to load * @return the contents of the resource as a {@link JsonNode} * @throws RuntimeException if the resource can't be loaded */ protected JsonNode asJsonNode(String classPathResourceName) { ClassPathResource resource = new ClassPathResource(classPathResourceName); try { InputStream resourceInputStream = resource.getInputStream(); return objectMapper.readTree(resourceInputStream); } catch (IOException e) { throw new RuntimeException( format("The class path resource '%s' can't be loaded as a JSON node.", classPathResourceName), e); } } }