1   /*
2    * $Id: HelloSampleTestCase.java 11316 2008-03-11 15:50:38Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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  
11  package org.mule.example.hello;
12  
13  import org.mule.tck.AbstractMuleTestCase;
14  
15  import java.io.ByteArrayInputStream;
16  import java.io.InputStream;
17  
18  public class HelloSampleTestCase extends AbstractMuleTestCase
19  {
20  
21      public void testGreeter()
22      {
23          NameString name = new NameString("Fred");
24          assertNotNull(name.getName());
25          assertNull(name.getGreeting());
26          name.setName("Another Fred");
27  
28          Greeter greeter = new Greeter();
29          greeter.greet(name);
30          assertNotNull(name.getGreeting());
31      }
32  
33      public void testChitChatter()
34      {
35          NameString name = new NameString("Barney");
36          assertNotNull(name.getName());
37          assertNull(name.getGreeting());
38  
39          ChatString chat = new ChatString();
40          assertTrue(chat.getSize() == 0);
41          ChitChatter chitChatter = new ChitChatter();
42          chitChatter.chat(chat);
43          assertTrue(chat.getSize() > 0);
44  
45          int size = chat.getSize();
46  
47          chat.append("Blah");
48          chat.append(new StringBuffer("Blah"));
49          assertTrue(chat.toString().endsWith("BlahBlah"));
50          chat.insert(0, "Blah".toCharArray(), 0, 2);
51          chat.insert(2, "Blah".toCharArray());
52          assertTrue(chat.toString().startsWith("BlBlah"));
53          assertEquals(size + 4 + 4 + 2 + 4, chat.getSize());
54  
55      }
56  
57      public void testStringToNameTransformer() throws Exception
58      {
59          String temp = "Wilma";
60          StringToNameString trans = new StringToNameString();
61          Object result = trans.transform(temp);
62  
63          assertNotNull(result);
64          assertTrue(result instanceof NameString);
65  
66          NameString name = (NameString)result;
67  
68          assertNotNull(name.getName());
69          assertNull(name.getGreeting());
70  
71          result = trans.transform("Another Wilma");
72  
73          assertNotNull(result);
74          assertTrue(result instanceof NameString);
75  
76          name = (NameString)result;
77  
78          assertNotNull(name.getName());
79          assertEquals("Another Wilma", name.getName());
80      }
81  
82      public void testHttpRequestToNameTransformer() throws Exception
83      {
84          String temp = "whateverUrl?name=Wilma";
85          HttpRequestToNameString trans = new HttpRequestToNameString();
86          Object result = trans.transform(temp);
87  
88          assertNotNull(result);
89          assertTrue(result instanceof NameString);
90  
91          NameString name = (NameString)result;
92  
93          assertNotNull(name.getName());
94          assertNull(name.getGreeting());
95  
96          result = trans.transform("whateverUrl?street=Sonnenstrasse&name=Another%20Wilma");
97  
98          assertNotNull(result);
99          assertTrue(result instanceof NameString);
100 
101         name = (NameString)result;
102 
103         assertNotNull(name.getName());
104         assertEquals("Another Wilma", name.getName());
105     }
106     
107     public void testHttpRequestToNameStreamingTransformer() throws Exception
108     {
109         InputStream in = new ByteArrayInputStream("whateverUrl?name=Wilma".getBytes());
110         HttpRequestToNameString transformer = new HttpRequestToNameString();
111         Object result = transformer.transform(in);
112         
113         assertNotNull(result);
114         assertTrue(result instanceof NameString);
115         
116         NameString name = (NameString)result;
117         assertNotNull(name.getName());
118         assertNull(name.getGreeting());
119     }
120     
121     public void testStdinToNameTransformer() throws Exception
122     {
123         String temp = "Wilma";
124         StdinToNameString trans = new StdinToNameString();
125         Object result = trans.transform(temp);
126 
127         assertNotNull(result);
128         assertTrue(result instanceof NameString);
129 
130         NameString name = (NameString)result;
131 
132         assertNotNull(name.getName());
133         assertNull(name.getGreeting());
134 
135         result = trans.transform("Another Wilma\r\n");
136 
137         assertNotNull(result);
138         assertTrue(result instanceof NameString);
139 
140         name = (NameString)result;
141 
142         assertNotNull(name.getName());
143         assertEquals("Another Wilma", name.getName());
144     }    
145     
146     public void testNameToChatTransformer() throws Exception
147     {
148         NameString temp = new NameString("the other one");
149         NameStringToChatString trans = new NameStringToChatString();
150         trans.setReturnClass(ChatString.class);
151 
152         Object result = trans.transform(temp);
153         assertNotNull(result);
154         assertTrue(result instanceof ChatString);
155 
156         ChatString chat = (ChatString)result;
157 
158         assertTrue(chat.getSize() > 0);
159     }
160 
161 }