View Javadoc

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