1   /*
2    * $Id: MulticastConnectorTestCase.java 11311 2008-03-10 20:15:57Z dfeist $
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.transport.multicast;
12  
13  import org.mule.api.endpoint.InboundEndpoint;
14  import org.mule.api.service.Service;
15  import org.mule.api.transport.Connector;
16  import org.mule.tck.testmodels.fruit.Orange;
17  import org.mule.transport.AbstractConnectorTestCase;
18  
19  import java.net.DatagramPacket;
20  
21  public class MulticastConnectorTestCase extends AbstractConnectorTestCase
22  {
23  
24      // @Override
25      public Connector createConnector() throws Exception
26      {
27          MulticastConnector c = new MulticastConnector();
28          c.setName("MulticastConnector");
29          return c;
30      }
31  
32      public String getTestEndpointURI()
33      {
34          return "multicast://228.3.4.5:60106";
35      }
36  
37      public Object getValidMessage() throws Exception
38      {
39          return new DatagramPacket("Hello".getBytes(), 5);
40      }
41  
42      public void testValidListener() throws Exception
43      {
44          Service service = getTestService("orange", Orange.class);
45          Connector connector = getConnector();
46  
47          InboundEndpoint endpoint2 = muleContext.getRegistry()
48              .lookupEndpointFactory()
49              .getInboundEndpoint("multicast://228.2.3.4:10100");
50  
51          connector.registerListener(service, endpoint2);
52          try
53          {
54              connector.registerListener(service, endpoint2);
55              fail("cannot register on the same endpointUri");
56          }
57          catch (Exception e)
58          {
59              // expected
60          }
61      }
62  
63      public void testProperties() throws Exception
64      {
65          MulticastConnector c = new MulticastConnector();
66          c.setReceiveBufferSize(1024);
67          assertEquals(1024, c.getReceiveBufferSize());
68          c.setReceiveBufferSize(0);
69          assertEquals(MulticastConnector.DEFAULT_BUFFER_SIZE, c.getReceiveBufferSize());
70  
71          c.setReceiveTimeout(-1);
72          assertEquals(MulticastConnector.DEFAULT_SOCKET_TIMEOUT, c.getReceiveTimeout());
73  
74          c.setLoopback(true);
75          assertTrue(c.isLoopback());
76      }
77  
78  }