View Javadoc

1   /*
2    * $Id: ErrorFiltersTestCase.java 22409 2011-07-14 05:14:27Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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          //No error here
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              //expected
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              //expected
53              assertTrue(e.getMessage().contains("it didnt work dude"));
54          }
55      }
56  
57      @Test
58      public void testXmlFilter() throws Exception
59      {
60          //No error here
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              //expected
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              //expected
83              assertTrue(e.getMessage().contains("it didnt work dude"));
84          }
85      }
86  
87      @Test
88      public void testRegexFilter() throws Exception
89      {
90          //No error here
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             //expected
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             //expected
112             assertTrue(e.getMessage().contains("it didnt work dude"));
113         }
114     }
115 
116 }