use of com.bazaarvoice.jolt.Diffy in project nifi by apache.
the class TestTransformJSONResource method testExecuteWithValidExpressionLanguageSpec.
@Test
public void testExecuteWithValidExpressionLanguageSpec() {
final Diffy diffy = new Diffy();
JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-shift", "{ \"rating\" : {\"quality\": \"${qual_var}\"} }");
String inputJson = "{\"rating\":{\"quality\":2,\"count\":1}}";
joltSpecificationDTO.setInput(inputJson);
Map<String, String> attributes = new HashMap<String, String>();
attributes.put("qual_var", "qa");
joltSpecificationDTO.setExpressionLanguageAttributes(attributes);
String responseString = client().target(getBaseUri()).path("/standard/transformjson/execute").request().post(Entity.json(joltSpecificationDTO), String.class);
Object transformedJson = JsonUtils.jsonToObject(responseString);
Object compareJson = JsonUtils.jsonToObject("{\"qa\":2}}");
assertNotNull(transformedJson);
assertTrue(diffy.diff(compareJson, transformedJson).isEmpty());
}
use of com.bazaarvoice.jolt.Diffy in project nifi by apache.
the class TestTransformJSONResource method testExecuteWithValidSpec.
@Test
public void testExecuteWithValidSpec() {
final Diffy diffy = new Diffy();
JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-remove", "{\"rating\": {\"quality\": \"\"} }");
String inputJson = "{\"rating\":{\"quality\":2,\"count\":1}}";
joltSpecificationDTO.setInput(inputJson);
String responseString = client().target(getBaseUri()).path("/standard/transformjson/execute").request().post(Entity.json(joltSpecificationDTO), String.class);
Object transformedJson = JsonUtils.jsonToObject(responseString);
Object compareJson = JsonUtils.jsonToObject("{\"rating\":{\"count\":1}}");
assertNotNull(transformedJson);
assertTrue(diffy.diff(compareJson, transformedJson).isEmpty());
}
use of com.bazaarvoice.jolt.Diffy in project nifi by apache.
the class TestTransformJSONResource method testExecuteWithValidCustomSpec.
@Test
public void testExecuteWithValidCustomSpec() {
final Diffy diffy = new Diffy();
JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-custom", "[{ \"operation\": \"default\", \"spec\":{ \"custom-id\" :4 }}]");
String inputJson = "{\"rating\":{\"quality\":2,\"count\":1}}";
joltSpecificationDTO.setInput(inputJson);
joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
joltSpecificationDTO.setModules("src/test/resources/TestTransformJSONResource/TestCustomJoltTransform.jar");
String responseString = client().target(getBaseUri()).path("/standard/transformjson/execute").request().post(Entity.json(joltSpecificationDTO), String.class);
Object transformedJson = JsonUtils.jsonToObject(responseString);
Object compareJson = JsonUtils.jsonToObject("{\"rating\":{\"quality\":2,\"count\":1}, \"custom-id\": 4}");
assertNotNull(transformedJson);
assertTrue(diffy.diff(compareJson, transformedJson).isEmpty());
}
Aggregations