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.transport.xmpp;
8   
9   import org.mule.api.endpoint.EndpointBuilder;
10  import org.mule.api.endpoint.InboundEndpoint;
11  import org.mule.api.endpoint.OutboundEndpoint;
12  import org.mule.api.transformer.Transformer;
13  import org.mule.tck.junit4.FunctionalTestCase;
14  import org.mule.transport.xmpp.transformers.ObjectToXmppPacket;
15  import org.mule.transport.xmpp.transformers.XmppPacketToObject;
16  
17  import org.junit.Test;
18  
19  import static org.junit.Assert.assertEquals;
20  import static org.junit.Assert.assertNotNull;
21  import static org.junit.Assert.assertTrue;
22  
23  public class XmppNamespaceHandlerTestCase extends FunctionalTestCase
24  {
25  
26      public XmppNamespaceHandlerTestCase()
27      {
28          // no need to connect to the Jabber server
29          setStartContext(false);
30      }
31      
32      @Override
33      protected String getConfigResources()
34      {
35          return "xmpp-namespace-config.xml";
36      }
37  
38      @Test
39      public void testConfig() throws Exception
40      {
41          XmppConnector connector = (XmppConnector) muleContext.getRegistry().lookupConnector("xmppConnector");
42          assertNotNull(connector);
43          assertEquals("localhost", connector.getHost());
44          assertEquals(1234, connector.getPort());
45          assertEquals("jabberService", connector.getServiceName());
46          assertEquals("mule", connector.getUser());
47          assertEquals("secret", connector.getPassword());
48          assertEquals("MuleAtWork", connector.getResource());
49          assertTrue(connector.isCreateAccount());
50      }
51  
52      @Test
53      public void testSendingMessageEndpoint() throws Exception
54      {
55          OutboundEndpoint endpoint = lookupOutboundEndpoint("sendingMessageEndpoint");
56          assertEquals("xmpp://MESSAGE/recipient@jabberhost", endpoint.getEndpointURI().toString());
57          assertEquals("TheSubject", endpoint.getProperty(XmppConnector.XMPP_SUBJECT));
58      }
59      
60      @Test
61      public void testReceivingChatEndpoint() throws Exception
62      {
63          InboundEndpoint endpoint = lookupInboundEndpoint("receivingChatEndpoint");
64          assertEquals("xmpp://CHAT/sender@jabberhost", endpoint.getEndpointURI().toString());
65      }
66      
67      @Test
68      public void testTransformers() throws Exception
69      {
70          Transformer transformer = lookupTransformer("ObjectToXmpp");
71          assertNotNull(transformer);
72          assertEquals(ObjectToXmppPacket.class, transformer.getClass());
73  
74          transformer = lookupTransformer("XmppToObject");
75          assertNotNull(transformer);
76          assertEquals(XmppPacketToObject.class, transformer.getClass());
77      }
78      
79      private OutboundEndpoint lookupOutboundEndpoint(String name) throws Exception
80      {
81          EndpointBuilder endpointBuilder = lookupEndpointBuilder(name);
82          return endpointBuilder.buildOutboundEndpoint();
83      }
84  
85      private InboundEndpoint lookupInboundEndpoint(String name) throws Exception
86      {
87          EndpointBuilder endpointBuilder = lookupEndpointBuilder(name);
88          return endpointBuilder.buildInboundEndpoint();
89      }
90  
91      private EndpointBuilder lookupEndpointBuilder(String name)
92      {
93          EndpointBuilder endpointBuilder = muleContext.getRegistry().lookupEndpointBuilder(name);
94          assertNotNull(endpointBuilder);
95          return endpointBuilder;
96      }
97      
98      private Transformer lookupTransformer(String name)
99      {
100         Transformer transformer = muleContext.getRegistry().lookupTransformer(name);
101         assertNotNull(transformer);
102         return transformer;
103     }
104 }