1
2
3
4
5
6
7 package org.mule.transformer;
8
9 import org.mule.api.transformer.Transformer;
10 import org.mule.api.transformer.TransformerException;
11 import org.mule.transformer.types.DataTypeFactory;
12 import org.mule.transport.NullPayload;
13
14 import org.junit.Test;
15
16 import static org.junit.Assert.fail;
17
18 public class NullResultTestCase extends AbstractTransformerTestCase
19 {
20 private final NullResultTransformer transformer = new NullResultTransformer();
21
22 @Override
23 public Object getTestData()
24 {
25 return new Object();
26 }
27
28 @Override
29 public Object getResultData()
30 {
31 return NullPayload.getInstance();
32 }
33
34 @Override
35 public Transformer getTransformer() throws Exception
36 {
37 return transformer;
38 }
39
40 @Override
41 public Transformer getRoundTripTransformer() throws Exception
42 {
43 return null;
44 }
45
46 @Test
47 public void testNullNotExpected() throws Exception
48 {
49 transformer.setReturnDataType(DataTypeFactory.STRING);
50 try
51 {
52 testTransform();
53 fail("Transformer should have thrown an exception because the return class doesn't match the result.");
54 }
55 catch (TransformerException e)
56 {
57
58 }
59 }
60
61 public static final class NullResultTransformer extends AbstractTransformer
62 {
63 public NullResultTransformer()
64 {
65 super();
66 this.registerSourceType(DataTypeFactory.OBJECT);
67 this.setReturnDataType(DataTypeFactory.create(NullPayload.class));
68 }
69
70 @Override
71 public Object doTransform(Object src, String encoding) throws TransformerException
72 {
73 return null;
74 }
75 }
76 }