Search in sources :

Example 1 with Diffy

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());
}
Also used : HashMap(java.util.HashMap) Diffy(com.bazaarvoice.jolt.Diffy) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 2 with Diffy

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());
}
Also used : Diffy(com.bazaarvoice.jolt.Diffy) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 3 with Diffy

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());
}
Also used : Diffy(com.bazaarvoice.jolt.Diffy) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Aggregations

Diffy (com.bazaarvoice.jolt.Diffy)3 JoltSpecificationDTO (org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO)3 JerseyTest (org.glassfish.jersey.test.JerseyTest)3 Test (org.junit.Test)3 HashMap (java.util.HashMap)1