JsonHelper.java
- package com.syntifi.near.api.json;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.JsonMappingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.syntifi.near.api.service.NearObjectMapper;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- /**
- * Basic support functionality for test case classes
- *
- * @author Alexandre Carvalho
- * @author Andre Bertolace
- * @since 0.0.1
- */
- public final class JsonHelper {
- public static final ObjectMapper OBJECT_MAPPER = new NearObjectMapper();
- /**
- * Loads test json from resources
- *
- * @param file file to load from
- * @return file content
- * @throws IOException thrown if error reading file
- */
- public static String loadJsonFromFile(File file) throws IOException {
- String fileJson;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- try (InputStream is = new FileInputStream(file)) {
- // copy stream
- byte[] buffer = new byte[1024];
- int bytesRead;
- while ((bytesRead = is.read(buffer)) != -1) {
- baos.write(buffer, 0, bytesRead);
- }
- fileJson = baos.toString();
- }
- return fileJson;
- }
- /**
- * Loads test json from resources
- *
- * @param filename filename to load
- * @return file content
- * @throws IOException thrown if error reading file
- */
- public static String loadJsonFromResourceFile(String filename) throws IOException {
- String fileJson;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- try (InputStream is = JsonHelper.class.getClassLoader().getResourceAsStream(filename)) {
- // copy stream
- byte[] buffer = new byte[1024];
- int bytesRead;
- while (true) {
- assert is != null;
- if ((bytesRead = is.read(buffer)) == -1) break;
- baos.write(buffer, 0, bytesRead);
- }
- fileJson = baos.toString();
- }
- return fileJson;
- }
- /**
- * Prettifies json for assertion consistency
- *
- * @param json json string to prettify
- * @return prettified json
- * @throws JsonMappingException thrown if error mapping json
- * @throws JsonProcessingException thrown if error processing json
- */
- public static String getPrettyJson(String json) throws JsonMappingException, JsonProcessingException {
- Object jsonObject = OBJECT_MAPPER.readValue(json, Object.class);
- return getPrettyJson(jsonObject);
- }
- /**
- * Prettifies json for assertion consistency
- *
- * @param jsonObject object to serialize and prettify
- * @return prettified json
- * @throws JsonMappingException thrown if error mapping json
- * @throws JsonProcessingException thrown if error processing json
- */
- public static String getPrettyJson(Object jsonObject) throws JsonProcessingException {
- return OBJECT_MAPPER.writerWithDefaultPrettyPrinter().writeValueAsString(jsonObject);
- }
- }