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 public class ErrorFiltersTestCase extends AbstractIBeansTestCase
19 {
20 @SuppressWarnings("unused")
21 @IntegrationBean
22 private ErrorFilterIBean errorFilter;
23
24
25 @Test
26 public void testJsonFilter() throws Exception
27 {
28
29 errorFilter.jsonErrorFilter("{\"message\" : \"hello\"}", MimeTypes.JSON);
30
31 try
32 {
33 errorFilter.jsonErrorFilter("{\"message\" : {\"error\" : 1234, \"errorMsg\" : \"it didnt work dude\"}}", MimeTypes.JSON);
34 fail("Error should have been caught");
35 }
36 catch (CallException e)
37 {
38
39 assertEquals("1234", e.getErrorCode());
40 assertTrue(e.getMessage().contains("it didnt work dude"));
41 }
42
43 try
44 {
45 errorFilter.jsonErrorFilter("{\"message\" : {\"errorMsg\" : \"it didnt work dude\"}}", MimeTypes.JSON);
46 fail("Error should have been caught");
47 }
48 catch (CallException e)
49 {
50
51 assertTrue(e.getMessage().contains("it didnt work dude"));
52 }
53 }
54
55 @Test
56 public void testXmlFilter() throws Exception
57 {
58
59 errorFilter.jsonErrorFilter("<message>hello</message>", MimeTypes.XML);
60
61 try
62 {
63 errorFilter.jsonErrorFilter("<message><error>1234</error><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.XML);
64 fail("Error should have been caught");
65 }
66 catch (CallException e)
67 {
68
69 assertEquals("1234", e.getErrorCode());
70 assertTrue(e.getMessage().contains("it didnt work dude"));
71 }
72
73 try
74 {
75 errorFilter.jsonErrorFilter("<message><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.XML);
76 fail("Error should have been caught");
77 }
78 catch (CallException e)
79 {
80
81 assertTrue(e.getMessage().contains("it didnt work dude"));
82 }
83 }
84
85 @Test
86 public void testRegexFilter() throws Exception
87 {
88
89 errorFilter.jsonErrorFilter("<message>hello</message>", MimeTypes.TEXT);
90
91 try
92 {
93 errorFilter.jsonErrorFilter("<message><error>1234</error><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.TEXT);
94 fail("Error should have been caught");
95 }
96 catch (CallException e)
97 {
98
99 assertTrue(e.getMessage().contains("it didnt work dude"));
100 }
101
102 try
103 {
104 errorFilter.jsonErrorFilter("<message><errorMsg>it didnt work dude</errorMsg></message>", MimeTypes.TEXT);
105 fail("Error should have been caught");
106 }
107 catch (CallException e)
108 {
109
110 assertTrue(e.getMessage().contains("it didnt work dude"));
111 }
112 }
113
114 }