Search in sources :

Example 41 with DataSource

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

the class AtlasEndpointTest method noConversionIfJsonTargetDataSource.

@Test(expected = ComparisonFailure.class)
public void noConversionIfJsonTargetDataSource() throws Exception {
    final List<DataSource> dataSources = new ArrayList<>();
    final DataSource dataSource = new DataSource();
    dataSource.setDataSourceType(DataSourceType.TARGET);
    dataSource.setUri("atlas:json:SomeType");
    dataSources.add(dataSource);
    perform(dataSources, null, null, true);
}
Also used : ArrayList(java.util.ArrayList) DataSource(io.atlasmap.v2.DataSource) Test(org.junit.Test)

Example 42 with DataSource

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

the class AtlasEndpointTest method perform.

private void perform(List<DataSource> dataSources, String sourceDocId, String targetDocId, boolean fromStream) throws Exception {
    final AtlasMapping mapping = new AtlasMapping();
    mapping.getDataSource().addAll(dataSources);
    final AtlasContext context = spy(AtlasContext.class);
    final AtlasSession session = spy(AtlasSession.class);
    when(context.createSession()).thenReturn(session);
    when(session.getAtlasContext()).thenReturn(context);
    when(session.getMapping()).thenReturn(mapping);
    when(session.getAudits()).thenReturn(new Audits());
    final AtlasEndpoint endpoint = new AtlasEndpoint("atlas:test.xml", new AtlasComponent(), "test.xml");
    endpoint.setAtlasContext(context);
    final Exchange exchange = spy(Exchange.class);
    final Message inMessage = spy(Message.class);
    when(inMessage.getBody()).thenReturn(fromStream ? new ByteArrayInputStream("{test}".getBytes()) : "{test}");
    when(inMessage.getBody(String.class)).thenReturn("{test}");
    when(exchange.getIn()).thenReturn(inMessage);
    if (sourceDocId == null) {
        doAnswer(new Answer<Void>() {

            @Override
            public Void answer(InvocationOnMock invocation) {
                LOG.debug("setDefaultSourceDocument({})", invocation.getArgument(0).toString());
                assertEquals("{test}", invocation.getArgument(0).toString());
                return null;
            }
        }).when(session).setDefaultSourceDocument(any());
    } else {
        doAnswer(new Answer<Void>() {

            @Override
            public Void answer(InvocationOnMock invocation) {
                LOG.debug("setSourceDocument({}, {})", invocation.getArgument(0), invocation.getArgument(1));
                assertEquals(sourceDocId, invocation.getArgument(0));
                assertEquals("{test}", invocation.getArgument(1));
                return null;
            }
        }).when(session).setSourceDocument(any(), any());
    }
    final Message outMessage = spy(Message.class);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) {
            LOG.debug("setBody({})", invocation.getArgument(0).toString());
            assertEquals("<target/>", invocation.getArgument(0));
            return null;
        }
    }).when(outMessage).setBody(any());
    doNothing().when(outMessage).setHeaders(any());
    doNothing().when(outMessage).setAttachments(any());
    if (targetDocId == null) {
        when(session.getDefaultTargetDocument()).thenAnswer(new Answer<Object>() {

            @Override
            public Object answer(InvocationOnMock invocation) throws Throwable {
                LOG.debug("getDefaultTargetDocument()");
                return "<target/>";
            }
        });
    } else {
        when(session.getTargetDocument(any())).thenAnswer(new Answer<Object>() {

            @Override
            public Object answer(InvocationOnMock invocation) throws Throwable {
                LOG.debug("getTargetDocument({})", invocation.getArgument(0).toString());
                assertEquals(targetDocId, invocation.getArgument(0));
                return "<target/>";
            }
        });
    }
    when(exchange.getOut()).thenReturn(outMessage);
    endpoint.onExchange(exchange);
}
Also used : Message(org.apache.camel.Message) Exchange(org.apache.camel.Exchange) AtlasMapping(io.atlasmap.v2.AtlasMapping) Audits(io.atlasmap.v2.Audits) ByteArrayInputStream(java.io.ByteArrayInputStream) InvocationOnMock(org.mockito.invocation.InvocationOnMock) AtlasContext(io.atlasmap.api.AtlasContext) AtlasSession(io.atlasmap.api.AtlasSession)

Example 43 with DataSource

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

the class AtlasEndpointTest method noConversionIfXmlTargetDataSource.

@Test(expected = ComparisonFailure.class)
public void noConversionIfXmlTargetDataSource() throws Exception {
    final List<DataSource> dataSources = new ArrayList<>();
    final DataSource dataSource = new DataSource();
    dataSource.setDataSourceType(DataSourceType.TARGET);
    dataSource.setUri("atlas:xml:SomeType");
    dataSources.add(dataSource);
    perform(dataSources, null, null, true);
}
Also used : ArrayList(java.util.ArrayList) DataSource(io.atlasmap.v2.DataSource) Test(org.junit.Test)

Example 44 with DataSource

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

the class AtlasEndpointTest method doConversionIfXmlDataSource.

@Test
public void doConversionIfXmlDataSource() throws Exception {
    final List<DataSource> dataSources = new ArrayList<>();
    final DataSource dataSource = new DataSource();
    dataSource.setDataSourceType(DataSourceType.SOURCE);
    dataSource.setUri("atlas:xml:SomeType");
    dataSources.add(dataSource);
    perform(dataSources, null, null, true);
}
Also used : ArrayList(java.util.ArrayList) DataSource(io.atlasmap.v2.DataSource) Test(org.junit.Test)

Example 45 with DataSource

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

the class XmlJsonFlatMappingTest method generateDataSource.

protected DataSource generateDataSource(String uri, DataSourceType type) {
    DataSource ds = new DataSource();
    ds.setUri(uri);
    ds.setDataSourceType(type);
    return ds;
}
Also used : DataSource(io.atlasmap.v2.DataSource)

Aggregations

DataSource (io.atlasmap.v2.DataSource)54 AtlasMapping (io.atlasmap.v2.AtlasMapping)16 ArrayList (java.util.ArrayList)14 Mapping (io.atlasmap.v2.Mapping)11 XmlDataSource (io.atlasmap.xml.v2.XmlDataSource)10 Mappings (io.atlasmap.v2.Mappings)8 JsonDataSource (io.atlasmap.json.v2.JsonDataSource)7 Test (org.junit.Test)7 File (java.io.File)6 AtlasContext (io.atlasmap.api.AtlasContext)5 AtlasSession (io.atlasmap.api.AtlasSession)5 JavaField (io.atlasmap.java.v2.JavaField)5 AtlasException (io.atlasmap.api.AtlasException)4 XmlNamespaces (io.atlasmap.xml.v2.XmlNamespaces)4 ByteArrayInputStream (java.io.ByteArrayInputStream)4 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 AtlasModule (io.atlasmap.spi.AtlasModule)3 HashMap (java.util.HashMap)3 Exchange (org.apache.camel.Exchange)3