Search in sources :

Example 96 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasFieldActionsServiceTest method testProcessOldExpressionActionConcatenateTwoCollections.

@Test
public void testProcessOldExpressionActionConcatenateTwoCollections() throws Exception {
    DefaultAtlasSession session = mock(DefaultAtlasSession.class);
    Field delimiter = new SimpleField();
    delimiter.setPath("/delim");
    delimiter.setValue("-");
    FieldGroup list = new FieldGroup();
    list.setPath("/fields<>");
    list.setCollectionType(CollectionType.LIST);
    Field field1 = new SimpleField();
    field1.setPath("/fields<0>");
    field1.setValue("one");
    list.getField().add(field1);
    Field field2 = new SimpleField();
    field2.setPath("/fields<1>");
    field2.setValue("two");
    list.getField().add(field2);
    Field field3 = new SimpleField();
    field3.setPath("/fields<2>");
    field3.setValue("three");
    list.getField().add(field3);
    FieldGroup list2 = new FieldGroup();
    list2.setPath("/fields2<>");
    list2.setCollectionType(CollectionType.LIST);
    Field field21 = new SimpleField();
    field21.setPath("/fields2<0>");
    field21.setValue("one");
    list2.getField().add(field21);
    Field field22 = new SimpleField();
    field22.setPath("/fields2<1>");
    field22.setValue("two");
    list2.getField().add(field22);
    Field field23 = new SimpleField();
    field23.setPath("/fields2<2>");
    field23.setValue("three");
    list2.getField().add(field23);
    FieldGroup fieldGroup = new FieldGroup();
    fieldGroup.getField().add(delimiter);
    fieldGroup.getField().add(list);
    fieldGroup.getField().add(list2);
    Expression action = new Expression();
    action.setExpression("concatenate(${0}, true, ${1}, ${2})");
    fieldGroup.setActions(new ArrayList<Action>());
    fieldGroup.getActions().add(action);
    Field answer = fieldActionsService.processActions(session, fieldGroup);
    assertEquals("$ATLASMAP", answer.getPath());
    assertEquals("one-two-three-one-two-three", answer.getValue());
}
Also used : Field(io.atlasmap.v2.Field) SimpleField(io.atlasmap.v2.SimpleField) Action(io.atlasmap.v2.Action) FieldGroup(io.atlasmap.v2.FieldGroup) Expression(io.atlasmap.v2.Expression) SimpleField(io.atlasmap.v2.SimpleField) Test(org.junit.jupiter.api.Test)

Example 97 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasFieldActionsServiceTest method testProcessActionsActionsField.

@Test
public void testProcessActionsActionsField() throws AtlasException {
    SimpleField field = new SimpleField();
    field.setFieldType(FieldType.COMPLEX);
    field.setActions(null);
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    field.setValue(null);
    field.setFieldType(FieldType.INTEGER);
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    field.setValue(Integer.valueOf(0));
    field.setFieldType(FieldType.INTEGER);
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    field.setActions(new ArrayList<Action>());
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    field.setActions(new ArrayList<Action>());
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    field.getActions().add(new Trim());
    field.setValue("testString");
    field.setFieldType(FieldType.STRING);
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    field.setValue(Integer.valueOf(8));
    field.setFieldType(FieldType.NUMBER);
    fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
}
Also used : Action(io.atlasmap.v2.Action) AtlasInternalSession(io.atlasmap.spi.AtlasInternalSession) Trim(io.atlasmap.v2.Trim) SimpleField(io.atlasmap.v2.SimpleField) Test(org.junit.jupiter.api.Test)

Example 98 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasFieldActionsServiceTest method testprocessActionsActionsObjectFieldTypeAtlasConversionException.

@Test
public void testprocessActionsActionsObjectFieldTypeAtlasConversionException() throws AtlasException {
    SimpleField field = new SimpleField();
    Object value = new Object();
    field.setValue(value);
    field.setFieldType(FieldType.INTEGER);
    ArrayList<Action> actions = new ArrayList<Action>();
    actions.add(new Add());
    field.setActions(actions);
    assertThrows(AtlasConversionException.class, () -> {
        fieldActionsService.processActions(mock(AtlasInternalSession.class), field);
    });
}
Also used : Add(io.atlasmap.v2.Add) Action(io.atlasmap.v2.Action) AtlasInternalSession(io.atlasmap.spi.AtlasInternalSession) ArrayList(java.util.ArrayList) SimpleField(io.atlasmap.v2.SimpleField) Test(org.junit.jupiter.api.Test)

Example 99 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasFieldActionsServiceTest method testProcessOldExpressionActionConcatenateCollection.

@Test
public void testProcessOldExpressionActionConcatenateCollection() throws Exception {
    DefaultAtlasSession session = mock(DefaultAtlasSession.class);
    Field delimiter = new SimpleField();
    delimiter.setPath("/delim");
    delimiter.setValue("-");
    FieldGroup list = new FieldGroup();
    list.setPath("/fields<>");
    list.setCollectionType(CollectionType.LIST);
    Field field1 = new SimpleField();
    field1.setPath("/fields<0>");
    field1.setValue("one");
    list.getField().add(field1);
    Field field2 = new SimpleField();
    field2.setPath("/fields<1>");
    field2.setValue("two");
    list.getField().add(field2);
    Field field3 = new SimpleField();
    field3.setPath("/fields<2>");
    field3.setValue("three");
    list.getField().add(field3);
    FieldGroup fieldGroup = new FieldGroup();
    fieldGroup.getField().add(delimiter);
    fieldGroup.getField().add(list);
    Expression action = new Expression();
    action.setExpression("concatenate(${0}, true, capitalize(${1}))");
    fieldGroup.setActions(new ArrayList<Action>());
    fieldGroup.getActions().add(action);
    Field answer = fieldActionsService.processActions(session, fieldGroup);
    assertEquals("$ATLASMAP", answer.getPath());
    assertEquals("One-Two-Three", answer.getValue());
}
Also used : Field(io.atlasmap.v2.Field) SimpleField(io.atlasmap.v2.SimpleField) Action(io.atlasmap.v2.Action) FieldGroup(io.atlasmap.v2.FieldGroup) Expression(io.atlasmap.v2.Expression) SimpleField(io.atlasmap.v2.SimpleField) Test(org.junit.jupiter.api.Test)

Example 100 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasPreviewContextTest method testProcessPreviewSplit.

@Test
public void testProcessPreviewSplit() throws AtlasException {
    Mapping m = new Mapping();
    Field source = new SimpleField();
    source.setFieldType(FieldType.STRING);
    source.setPath("/source");
    source.setValue("one two three four");
    source.setActions(new ArrayList<>());
    Split action = new Split();
    action.setDelimiter(" ");
    source.getActions().add(action);
    m.getInputField().add(source);
    Field target1 = new SimpleField();
    target1.setPath("/target1");
    target1.setIndex(0);
    target1.setFieldType(FieldType.STRING);
    m.getOutputField().add(target1);
    Field target2 = new SimpleField();
    target2.setPath("/target2");
    target2.setIndex(1);
    target2.setFieldType(FieldType.STRING);
    m.getOutputField().add(target2);
    Field target3 = new SimpleField();
    target3.setPath("/target3");
    target3.setIndex(3);
    target3.setFieldType(FieldType.STRING);
    m.getOutputField().add(target3);
    Audits audits = previewContext.processPreview(m);
    assertEquals(0, audits.getAudit().size(), printAudit(audits));
    target1 = m.getOutputField().get(0);
    target2 = m.getOutputField().get(1);
    target3 = m.getOutputField().get(2);
    assertEquals("one", target1.getValue());
    assertEquals("two", target2.getValue());
    assertEquals("four", target3.getValue());
}
Also used : SimpleField(io.atlasmap.v2.SimpleField) ConstantField(io.atlasmap.v2.ConstantField) Field(io.atlasmap.v2.Field) Audits(io.atlasmap.v2.Audits) Mapping(io.atlasmap.v2.Mapping) SimpleField(io.atlasmap.v2.SimpleField) Split(io.atlasmap.v2.Split) Test(org.junit.jupiter.api.Test)

Aggregations

Test (org.junit.jupiter.api.Test)73 Action (io.atlasmap.v2.Action)35 Expression (io.atlasmap.v2.Expression)26 ArrayList (java.util.ArrayList)24 Field (io.atlasmap.v2.Field)23 SimpleField (io.atlasmap.v2.SimpleField)22 Mapping (io.atlasmap.v2.Mapping)19 FieldGroup (io.atlasmap.v2.FieldGroup)15 AtlasActionProcessor (io.atlasmap.spi.AtlasActionProcessor)14 AtlasMapping (io.atlasmap.v2.AtlasMapping)14 List (java.util.List)14 ActionDetail (io.atlasmap.v2.ActionDetail)13 AtlasFieldActionInfo (io.atlasmap.spi.AtlasFieldActionInfo)11 SubString (io.atlasmap.v2.SubString)11 ConstantField (io.atlasmap.v2.ConstantField)10 Collections (java.util.Collections)9 TimeUnit (java.util.concurrent.TimeUnit)9 SettableApiFuture (com.google.api.core.SettableApiFuture)8 ServiceOptions (com.google.cloud.ServiceOptions)8 DlpServiceClient (com.google.cloud.dlp.v2.DlpServiceClient)8