use of io.atlasmap.v2.Mappings in project atlasmap by atlasmap.
the class DefaultAtlasContextTest method testProcess.
@Test
public void testProcess() throws AtlasException {
DefaultAtlasSession session = mock(DefaultAtlasSession.class);
when(session.getAtlasContext()).thenReturn(context);
Head head = mock(Head.class);
when(session.head()).thenReturn(head);
when(head.setMapping(any(Mapping.class))).thenReturn(head);
when(head.setLookupTable(any(LookupTable.class))).thenReturn(head);
Field headField = mock(ConstantField.class);
when(head.getSourceField()).thenReturn(headField);
Audits audits = mock(Audits.class);
when(session.getAudits()).thenReturn(audits);
Validations validations = mock(Validations.class);
when(session.getValidations()).thenReturn(validations);
AtlasMapping mapping = mock(AtlasMapping.class);
when(session.getMapping()).thenReturn(mapping);
when(session.hasErrors()).thenReturn(true);
context.process(session);
when(session.hasErrors()).thenReturn(false);
Mappings mappings = mock(Mappings.class);
when(mapping.getMappings()).thenReturn(mappings);
List<BaseMapping> baseMappings = new ArrayList<>();
Collection baseMapping = mock(Collection.class);
when(baseMapping.getMappingType()).thenReturn(MappingType.COLLECTION);
baseMappings.add(baseMapping);
when(mappings.getMapping()).thenReturn(baseMappings);
Mappings subMappings = mock(Mappings.class);
when(baseMapping.getMappings()).thenReturn(subMappings);
List<BaseMapping> baseMappingList = new ArrayList<>();
Mapping mappingElement1 = mock(Mapping.class);
List<Field> sourceFieldList = new ArrayList<>();
ConstantField sourceField = mock(ConstantField.class);
sourceFieldList.add(sourceField);
when(sourceField.getPath()).thenReturn("contact.firstName");
when(mappingElement1.getInputField()).thenReturn(sourceFieldList);
List<Field> outputFieldList = new ArrayList<>();
Field outputField = mock(Field.class);
outputFieldList.add(outputField);
when(outputField.getPath()).thenReturn("contact.firstName");
when(mappingElement1.getOutputField()).thenReturn(outputFieldList);
when(mappingElement1.getMappingType()).thenReturn(MappingType.ALL);
baseMappingList.add(mappingElement1);
when(subMappings.getMapping()).thenReturn(baseMappingList);
Mapping mappingElement2 = mock(Mapping.class);
when(mappingElement2.getMappingType()).thenReturn(MappingType.ALL);
baseMappingList.add(mappingElement2);
List<Field> sourceFieldList2 = new ArrayList<>();
ConstantField sourceField2 = mock(ConstantField.class);
sourceFieldList2.add(sourceField2);
when(sourceField2.getPath()).thenReturn("contact[1]");
when(mappingElement2.getInputField()).thenReturn(sourceFieldList2);
ConstantModule mockConstantModule = mock(ConstantModule.class);
when(mockConstantModule.getCollectionSize(any(AtlasInternalSession.class), any(Field.class))).thenReturn(1);
ConstantField clonedField = mock(ConstantField.class);
when(clonedField.getPath()).thenReturn("cloned[1]");
when(mockConstantModule.cloneField(any(Field.class))).thenReturn(clonedField);
List<Field> mockSourceFieldList = new ArrayList<>();
ConstantField mockSourceField = mock(ConstantField.class);
mockSourceFieldList.add(mockSourceField);
when(mockSourceField.getPath()).thenReturn("source[1]");
when(mappingElement2.getInputField()).thenReturn(mockSourceFieldList);
List<Field> mockOutputFieldList = new ArrayList<>();
ConstantField mockOutputField = mock(ConstantField.class);
mockOutputFieldList.add(mockOutputField);
when(mockOutputField.getPath()).thenReturn("output[1]");
when(mappingElement2.getOutputField()).thenReturn(mockOutputFieldList);
context.getSourceModules().put(DefaultAtlasContext.CONSTANTS_DOCUMENT_ID, mockConstantModule);
context.process(session);
}
use of io.atlasmap.v2.Mappings in project atlasmap by atlasmap.
the class Atlasmap233Test method test.
@Test
public void test() throws Exception {
URL url = Thread.currentThread().getContextClassLoader().getResource("mappings/issue/atlasmap-233-mapping.xml");
AtlasMapping mapping = mappingService.loadMapping(url, AtlasMappingFormat.XML);
AtlasContext context = DefaultAtlasContextFactory.getInstance().createContext(mapping);
AtlasSession session = context.createSession();
session.setSourceDocument("io.atlasmap.core.issue.SourceClass", new SourceClass().setSourceInteger(-1));
context.process(session);
assertFalse(TestHelper.printAudit(session), session.hasErrors());
Object output = session.getTargetDocument("io.atlasmap.core.issue.TargetClass");
assertEquals(TargetClass.class, output.getClass());
assertEquals(1, ((TargetClass) output).getTargetInteger());
}
use of io.atlasmap.v2.Mappings in project atlasmap by atlasmap.
the class CombineSeparateChangeDelimiterTest method test.
@Test
public void test() throws Exception {
URL url = Thread.currentThread().getContextClassLoader().getResource("mappings/issue/combine-separate-change-delimiter-mapping.xml");
AtlasMapping mapping = mappingService.loadMapping(url, AtlasMappingFormat.XML);
AtlasContext context = DefaultAtlasContextFactory.getInstance().createContext(mapping);
AtlasSession session = context.createSession();
SourceClass source = new SourceClass().setSourceFirstName("Manjiro").setSourceLastName("Nakahama").setSourceName("Manjiro,Nakahama");
session.setSourceDocument("io.atlasmap.core.issue.SourceClass", source);
context.process(session);
assertFalse(TestHelper.printAudit(session), session.hasErrors());
assertFalse(TestHelper.printAudit(session), session.hasWarns());
Object output = session.getTargetDocument("io.atlasmap.core.issue.TargetClass");
assertEquals(TargetClass.class, output.getClass());
TargetClass target = TargetClass.class.cast(output);
assertEquals("Manjiro", target.getTargetFirstName());
assertEquals("Nakahama", target.getTargetLastName());
assertEquals("Manjiro,Nakahama", target.getTargetName());
}
use of io.atlasmap.v2.Mappings in project atlasmap by atlasmap.
the class JsonValidationServiceTest method testValidateMappingSourceToTargetRangeConcerns.
@Test
public void testValidateMappingSourceToTargetRangeConcerns() throws Exception {
AtlasMapping mapping = mappingUtil.loadMapping("src/test/resources/mappings/HappyPathMapping.xml");
assertNotNull(mapping);
Mapping fieldMapping = (Mapping) mapping.getMappings().getMapping().get(0);
JsonField in = (JsonField) fieldMapping.getInputField().get(0);
in.setFieldType(FieldType.DOUBLE);
JsonField out = (JsonField) fieldMapping.getOutputField().get(0);
out.setFieldType(FieldType.LONG);
validations.addAll(sourceValidationService.validateMapping(mapping));
validations.addAll(targetValidationService.validateMapping(mapping));
if (LOG.isDebugEnabled()) {
debugErrors(validations);
}
assertFalse(validationHelper.hasErrors());
assertTrue(validationHelper.hasWarnings());
assertFalse(validationHelper.hasInfos());
assertThat(1, is(validationHelper.getCount()));
assertTrue(validations.stream().anyMatch(atlasMappingError -> atlasMappingError.getMessage().contains("range")));
}
use of io.atlasmap.v2.Mappings in project atlasmap by atlasmap.
the class JsonValidationServiceTest method testValidateMappingSupportedSourceToTargetConversion.
@Test
public void testValidateMappingSupportedSourceToTargetConversion() throws Exception {
AtlasMapping mapping = mappingUtil.loadMapping("src/test/resources/mappings/HappyPathMapping.xml");
assertNotNull(mapping);
Mapping fieldMapping = (Mapping) mapping.getMappings().getMapping().get(0);
JsonField in = (JsonField) fieldMapping.getInputField().get(0);
in.setFieldType(FieldType.CHAR);
validations.addAll(sourceValidationService.validateMapping(mapping));
validations.addAll(targetValidationService.validateMapping(mapping));
if (LOG.isDebugEnabled()) {
debugErrors(validations);
}
assertFalse(validationHelper.hasErrors());
assertFalse(validationHelper.hasWarnings());
assertTrue(validationHelper.hasInfos());
}
Aggregations