1   package org.controlhaus.xfire.client;
2   
3   import org.apache.beehive.controls.api.bean.Control;
4   import org.apache.xmlbeans.XmlObject;
5   import org.controlhaus.xfire.client.XFireClientControl.Encoding;
6   import org.controlhaus.xfire.client.XFireClientControl.ServiceUrl;
7   
8   /***
9    * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
10   * @since Nov 5, 2004
11   */
12  public class XFireClientControlTest
13      extends AbstractControlTest
14  {
15      @Encoding("ENC")
16      @ServiceUrl("http://soap.amazon.com/onca/soap?Service=AWSECommerceService")
17      @Control XFireClientControl client;
18  
19      @ServiceUrl("http://soap.amazon.com/onca/soap?Service=AWSECommerceService")
20      @Control XFireClientControl noEncClient;
21  
22      public void testProperties() 
23          throws Exception
24      {
25          assertNotNull(client);
26          
27          XFireClientControlBean bean = (XFireClientControlBean) client;
28          assertEquals("ENC", bean.getEncodingValue());
29          assertEquals("http://soap.amazon.com/onca/soap?Service=AWSECommerceService", bean.getServiceUrlValue());
30          
31          assertNotNull(noEncClient);
32          
33          bean = (XFireClientControlBean) noEncClient;
34          assertEquals("UTF-8", bean.getEncodingValue());
35          assertEquals("http://soap.amazon.com/onca/soap?Service=AWSECommerceService", 
36                       bean.getServiceUrlValue());
37          
38      }
39      
40      public void testInvoke() 
41          throws Exception
42      {
43          assertNotNull(client);
44  
45          XmlObject request = XmlObject.Factory.parse( getClass().getResourceAsStream("amazon.xml") );
46          
47          XmlObject[] response = client.invoke( new XmlObject[] { request } );
48          assertNotNull(response);
49          assertEquals(1, response.length);
50          assertEquals("ItemLookupResponse", response[0].getDomNode().getFirstChild().getLocalName());
51      }
52  }