1
2
3
4
5
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
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 }