Search in sources :

Example 1 with JoltSpecificationDTO

use of org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO in project nifi by apache.

the class TestTransformJSONResource method testValidateWithValidEmptySpec.

@Test
public void testValidateWithValidEmptySpec() {
    JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-sort", "");
    ValidationDTO validation = client().target(getBaseUri()).path("/standard/transformjson/validate").request().post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
    TestCase.assertNotNull(validation);
    assertTrue(validation.isValid());
}
Also used : JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) ValidationDTO(org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 2 with JoltSpecificationDTO

use of org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO in project nifi by apache.

the class TestTransformJSONResource method testValidateWithCustomSpecEmptyModule.

@Test
public void testValidateWithCustomSpecEmptyModule() {
    final NiFiWebConfigurationContext niFiWebConfigurationContext = mock(NiFiWebConfigurationContext.class);
    final Map<String, String> properties = new HashMap<>();
    properties.put("jolt-transform", "jolt-transform-custom");
    final ComponentDetails componentDetails = new ComponentDetails.Builder().properties(properties).build();
    Mockito.when(servletContext.getAttribute(Mockito.anyString())).thenReturn(niFiWebConfigurationContext);
    Mockito.when(niFiWebConfigurationContext.getComponentDetails(any(NiFiWebRequestContext.class))).thenReturn(componentDetails);
    JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-custom", "[{ \"operation\": \"default\", \"spec\":{ \"custom-id\" :4 }}]");
    joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
    ValidationDTO validate = client().target(getBaseUri()).path("/standard/transformjson/validate").request().post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
    assertNotNull(validate);
    assertTrue(!validate.isValid());
}
Also used : HashMap(java.util.HashMap) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) ValidationDTO(org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO) NiFiWebConfigurationContext(org.apache.nifi.web.NiFiWebConfigurationContext) ComponentDetails(org.apache.nifi.web.ComponentDetails) NiFiWebRequestContext(org.apache.nifi.web.NiFiWebRequestContext) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 3 with JoltSpecificationDTO

use of org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO 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 4 with JoltSpecificationDTO

use of org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO in project nifi by apache.

the class TestTransformJSONResource method testValidateWithValidExpressionLanguageSpec.

@Test
public void testValidateWithValidExpressionLanguageSpec() {
    JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-remove", "{\"rating\": {\"${filename}\": \"\"} }");
    ValidationDTO validation = client().target(getBaseUri()).path("/standard/transformjson/validate").request().post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
    TestCase.assertNotNull(validation);
    assertTrue(validation.isValid());
}
Also used : JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) ValidationDTO(org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 5 with JoltSpecificationDTO

use of org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO in project nifi by apache.

the class TestTransformJSONResource method testExecuteWithInvalidSpec.

@Test
public void testExecuteWithInvalidSpec() {
    JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-remove", "{\"rating\": {\"quality\": \"\"} }");
    final Response response = client().target(getBaseUri()).path("/standard/transformjson/execute").request().post(Entity.json(joltSpecificationDTO));
    assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
}
Also used : Response(javax.ws.rs.core.Response) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Aggregations

JoltSpecificationDTO (org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO)14 JerseyTest (org.glassfish.jersey.test.JerseyTest)14 Test (org.junit.Test)14 ValidationDTO (org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO)9 HashMap (java.util.HashMap)5 ComponentDetails (org.apache.nifi.web.ComponentDetails)4 NiFiWebConfigurationContext (org.apache.nifi.web.NiFiWebConfigurationContext)4 NiFiWebRequestContext (org.apache.nifi.web.NiFiWebRequestContext)4 Diffy (com.bazaarvoice.jolt.Diffy)3 Response (javax.ws.rs.core.Response)2