View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.example.hello;
8   
9   import org.mule.tck.junit4.AbstractMuleTestCase;
10  import org.mule.transformer.types.DataTypeFactory;
11  
12  import java.io.ByteArrayInputStream;
13  import java.io.InputStream;
14  
15  import org.junit.Test;
16  
17  import static org.junit.Assert.assertEquals;
18  import static org.junit.Assert.assertNotNull;
19  import static org.junit.Assert.assertNull;
20  import static org.junit.Assert.assertTrue;
21  
22  public class HelloSampleTestCase extends AbstractMuleTestCase
23  {
24  
25      @Test
26      public void testGreeter()
27      {
28          NameString name = new NameString("Fred");
29          assertNotNull(name.getName());
30          assertNull(name.getGreeting());
31          name.setName("Another Fred");
32  
33          Greeter greeter = new Greeter();
34          greeter.greet(name);
35          assertNotNull(name.getGreeting());
36      }
37  
38      @Test
39      public void testChitChatter()
40      {
41          NameString name = new NameString("Barney");
42          assertNotNull(name.getName());
43          assertNull(name.getGreeting());
44  
45          ChatString chat = new ChatString();
46          assertTrue(chat.getSize() == 0);
47          ChitChatter chitChatter = new ChitChatter();
48          chitChatter.chat(chat);
49          assertTrue(chat.getSize() > 0);
50  
51          int size = chat.getSize();
52  
53          chat.append("Blah");
54          chat.append(new StringBuffer("Blah"));
55          assertTrue(chat.toString().endsWith("BlahBlah"));
56          chat.insert(0, "Blah".toCharArray(), 0, 2);
57          chat.insert(2, "Blah".toCharArray());
58          assertTrue(chat.toString().startsWith("BlBlah"));
59          assertEquals(size + 4 + 4 + 2 + 4, chat.getSize());
60  
61      }
62  
63      @Test
64      public void testStringToNameTransformer() throws Exception
65      {
66          String temp = "Wilma";
67          StringToNameString trans = new StringToNameString();
68          Object result = trans.transform(temp);
69  
70          assertNotNull(result);
71          assertTrue(result instanceof NameString);
72  
73          NameString name = (NameString)result;
74  
75          assertNotNull(name.getName());
76          assertNull(name.getGreeting());
77  
78          result = trans.transform("Another Wilma");
79  
80          assertNotNull(result);
81          assertTrue(result instanceof NameString);
82  
83          name = (NameString)result;
84  
85          assertNotNull(name.getName());
86          assertEquals("Another Wilma", name.getName());
87      }
88  
89      @Test
90      public void testHttpRequestToNameTransformer() throws Exception
91      {
92          String temp = "whateverUrl?name=Wilma";
93          HttpRequestToNameString trans = new HttpRequestToNameString();
94          Object result = trans.transform(temp);
95  
96          assertNotNull(result);
97          assertTrue(result instanceof NameString);
98  
99          NameString name = (NameString)result;
100 
101         assertNotNull(name.getName());
102         assertNull(name.getGreeting());
103 
104         result = trans.transform("whateverUrl?street=Sonnenstrasse&name=Another%20Wilma");
105 
106         assertNotNull(result);
107         assertTrue(result instanceof NameString);
108 
109         name = (NameString)result;
110 
111         assertNotNull(name.getName());
112         assertEquals("Another Wilma", name.getName());
113     }
114     
115     @Test
116     public void testHttpRequestToNameStreamingTransformer() throws Exception
117     {
118         InputStream in = new ByteArrayInputStream("whateverUrl?name=Wilma".getBytes());
119         HttpRequestToNameString transformer = new HttpRequestToNameString();
120         Object result = transformer.transform(in);
121         
122         assertNotNull(result);
123         assertTrue(result instanceof NameString);
124         
125         NameString name = (NameString)result;
126         assertNotNull(name.getName());
127         assertNull(name.getGreeting());
128     }
129     
130     @Test
131     public void testStdinToNameTransformer() throws Exception
132     {
133         String temp = "Wilma";
134         StdinToNameString trans = new StdinToNameString();
135         Object result = trans.transform(temp);
136 
137         assertNotNull(result);
138         assertTrue(result instanceof NameString);
139 
140         NameString name = (NameString)result;
141 
142         assertNotNull(name.getName());
143         assertNull(name.getGreeting());
144 
145         result = trans.transform("Another Wilma\r\n");
146 
147         assertNotNull(result);
148         assertTrue(result instanceof NameString);
149 
150         name = (NameString)result;
151 
152         assertNotNull(name.getName());
153         assertEquals("Another Wilma", name.getName());
154     }    
155     
156     @Test
157     public void testNameToChatTransformer() throws Exception
158     {
159         NameString temp = new NameString("the other one");
160         NameStringToChatString trans = new NameStringToChatString();
161         trans.setReturnDataType(DataTypeFactory.create(ChatString.class));
162 
163         Object result = trans.transform(temp);
164         assertNotNull(result);
165         assertTrue(result instanceof ChatString);
166 
167         ChatString chat = (ChatString)result;
168 
169         assertTrue(chat.getSize() > 0);
170     }
171 
172 }