use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class CompositeConverterFilterTestCase method failsWhenFiltersDoNotReduceListToASingleElement.
@Test
public void failsWhenFiltersDoNotReduceListToASingleElement() throws Exception {
Converter transformer1 = mock(Converter.class);
Converter transformer2 = mock(Converter.class);
List<Converter> transformers = new ArrayList<Converter>();
transformers.add(transformer1);
transformers.add(transformer2);
ConverterFilter filter1 = Mockito.mock(ConverterFilter.class);
when(filter1.filter(transformers, XML_DATA_TYPE, JSON_DATA_TYPE)).thenReturn(transformers);
ConverterFilter filter2 = Mockito.mock(ConverterFilter.class);
when(filter2.filter(transformers, XML_DATA_TYPE, JSON_DATA_TYPE)).thenReturn(transformers);
CompositeConverterFilter compositeConverterFilter = new CompositeConverterFilter(filter1, filter2);
List<Converter> filteredTransformers = compositeConverterFilter.filter(transformers, XML_DATA_TYPE, JSON_DATA_TYPE);
assertEquals(transformers, filteredTransformers);
verify(filter1, times(1)).filter(any(List.class), any(DataType.class), any(DataType.class));
verify(filter2, times(1)).filter(any(List.class), any(DataType.class), any(DataType.class));
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class CompositeConverterFilterTestCase method filtersSingletonList.
@Test
public void filtersSingletonList() throws Exception {
Converter transformer1 = mock(Converter.class);
List<Converter> transformers = Collections.singletonList(transformer1);
ConverterFilter filter1 = Mockito.mock(ConverterFilter.class);
ConverterFilter filter2 = Mockito.mock(ConverterFilter.class);
CompositeConverterFilter compositeConverterFilter = new CompositeConverterFilter(filter1, filter2);
List<Converter> filteredTransformers = compositeConverterFilter.filter(transformers, XML_DATA_TYPE, JSON_DATA_TYPE);
assertEquals(transformers, filteredTransformers);
verify(filter1, times(0)).filter(any(List.class), any(DataType.class), any(DataType.class));
verify(filter2, times(0)).filter(any(List.class), any(DataType.class), any(DataType.class));
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class GraphTransformerResolverTestCase method cachesResolvedTransformer.
@Test
public void cachesResolvedTransformer() throws ResolverException {
Converter xmlToJson = new MockConverterBuilder().from(XML_DATA_TYPE).to(JSON_DATA_TYPE).build();
Converter inputStreamToXml = new MockConverterBuilder().from(INPUT_STREAM_DATA_TYPE).to(XML_DATA_TYPE).build();
graphResolver.transformerChange(inputStreamToXml, TransformerResolver.RegistryAction.ADDED);
graphResolver.transformerChange(xmlToJson, TransformerResolver.RegistryAction.ADDED);
Transformer transformer1 = graphResolver.resolve(INPUT_STREAM_DATA_TYPE, JSON_DATA_TYPE);
Transformer transformer2 = graphResolver.resolve(INPUT_STREAM_DATA_TYPE, JSON_DATA_TYPE);
assertSame(transformer1, transformer2);
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class GraphTransformerResolverTestCase method ignoresAddedTransformer.
@Test
public void ignoresAddedTransformer() throws ResolverException {
Converter xmlToJson = new MockConverterBuilder().named("xmlToJson").from(XML_DATA_TYPE).to(JSON_DATA_TYPE).build();
Converter inputStreamToXml = new MockConverterBuilder().named("inputStreamToXml").from(INPUT_STREAM_DATA_TYPE).to(XML_DATA_TYPE).build();
graphResolver.transformerChange(inputStreamToXml, TransformerResolver.RegistryAction.ADDED);
graphResolver.transformerChange(xmlToJson, TransformerResolver.RegistryAction.ADDED);
Transformer transformer1 = graphResolver.resolve(INPUT_STREAM_DATA_TYPE, JSON_DATA_TYPE);
assertNotNull(transformer1);
Transformer xmlToString = new MockTransformerBuilder().named("xmlToString").from(XML_DATA_TYPE).to(STRING_DATA_TYPE).build();
graphResolver.transformerChange(xmlToString, TransformerResolver.RegistryAction.ADDED);
Transformer transformer2 = graphResolver.resolve(INPUT_STREAM_DATA_TYPE, JSON_DATA_TYPE);
assertSame(transformer1, transformer2);
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class GraphTransformerResolverTestCase method resolvesTransformersWithDifferentLength.
@Test
public void resolvesTransformersWithDifferentLength() throws ResolverException {
Converter xmlToInputStream = new MockConverterBuilder().named("xmlToInputStream").from(XML_DATA_TYPE).to(INPUT_STREAM_DATA_TYPE).weighting(1).build();
Converter xmlToJson = new MockConverterBuilder().named("xmlToJson").from(XML_DATA_TYPE).to(JSON_DATA_TYPE).weighting(1).build();
Converter inputStreamToJson = new MockConverterBuilder().named("inputStreamToJson").from(INPUT_STREAM_DATA_TYPE).to(JSON_DATA_TYPE).weighting(1).build();
graphResolver.transformerChange(xmlToInputStream, TransformerResolver.RegistryAction.ADDED);
graphResolver.transformerChange(xmlToJson, TransformerResolver.RegistryAction.ADDED);
graphResolver.transformerChange(inputStreamToJson, TransformerResolver.RegistryAction.ADDED);
Transformer transformer = graphResolver.resolve(XML_DATA_TYPE, JSON_DATA_TYPE);
assertEquals(xmlToJson, transformer);
}
Aggregations