1
2
3
4
5
6
7
8
9
10 package org.mule.module.ibeans.annotations;
11
12 import org.mule.transformer.types.MimeTypes;
13
14 import org.ibeans.annotation.IntegrationBean;
15 import org.ibeans.api.CallException;
16 import org.junit.Test;
17
18 import static org.junit.Assert.assertEquals;
19 import static org.junit.Assert.assertTrue;
20 import static org.junit.Assert.fail;
21
22 public class ErrorFiltersTestCase extends AbstractIBeansTestCase
23 {
24 @IntegrationBean
25 private ErrorFilterIBean errorFilter;
26
27 @Test
28 public void testJsonFilter() throws Exception
29 {
30
31 errorFilter.jsonErrorFilter("{\"message\" : \"hello\"}", MimeTypes.JSON);
32
33 try
34 {
35 errorFilter.jsonErrorFilter("{\"message\" : {\"error\" : 1234, \"errorMsg\" : \"it didnt work dude\"}}", MimeTypes.JSON);
36 fail("Error should have been caught");
37 }
38 catch (CallException e)
39 {
40
41 assertEquals("1234", e.getErrorCode());
42 assertTrue(e.getMessage().contains("it didnt work dude"));
43 }
44
45 try
46 {
47 errorFilter.jsonErrorFilter("{\"message\" : {\"errorMsg\" : \"it didnt work dude\"}}", MimeTypes.JSON);
48 fail("Error should have been caught");
49 }
50 catch (CallException e)
51 {
52
53 assertTrue(e.getMessage().contains("it didnt work dude"));
54 }
55 }
56
57 @Test
58 public void testXmlFilter() throws Exception
59 {
60
61 errorFilter.jsonErrorFilter("<message>hello</message>", MimeTypes.XML);
62
63 try
64 {
65 errorFilter.jsonErrorFilter("<message><error>1234</error><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.XML);
66 fail("Error should have been caught");
67 }
68 catch (CallException e)
69 {
70
71 assertEquals("1234", e.getErrorCode());
72 assertTrue(e.getMessage().contains("it didnt work dude"));
73 }
74
75 try
76 {
77 errorFilter.jsonErrorFilter("<message><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.XML);
78 fail("Error should have been caught");
79 }
80 catch (CallException e)
81 {
82
83 assertTrue(e.getMessage().contains("it didnt work dude"));
84 }
85 }
86
87 @Test
88 public void testRegexFilter() throws Exception
89 {
90
91 errorFilter.jsonErrorFilter("<message>hello</message>", MimeTypes.TEXT);
92
93 try
94 {
95 errorFilter.jsonErrorFilter("<message><error>1234</error><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.TEXT);
96 fail("Error should have been caught");
97 }
98 catch (CallException e)
99 {
100
101 assertTrue(e.getMessage().contains("it didnt work dude"));
102 }
103
104 try
105 {
106 errorFilter.jsonErrorFilter("<message><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.TEXT);
107 fail("Error should have been caught");
108 }
109 catch (CallException e)
110 {
111
112 assertTrue(e.getMessage().contains("it didnt work dude"));
113 }
114 }
115
116 }