1   /*
2    * $Id: MulticastConnectorTestCase.java 7968 2007-08-21 12:01:57Z holger $
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.providers.multicast;
12  
13  import org.mule.impl.MuleDescriptor;
14  import org.mule.impl.endpoint.MuleEndpointURI;
15  import org.mule.tck.providers.AbstractConnectorTestCase;
16  import org.mule.tck.testmodels.fruit.Orange;
17  import org.mule.umo.UMOComponent;
18  import org.mule.umo.endpoint.UMOEndpoint;
19  import org.mule.umo.provider.UMOConnector;
20  
21  import java.net.DatagramPacket;
22  
23  public class MulticastConnectorTestCase extends AbstractConnectorTestCase
24  {
25  
26      // @Override
27      public UMOConnector createConnector() throws Exception
28      {
29          MulticastConnector c = new MulticastConnector();
30          c.setName("MulticastConnector");
31          c.initialise();
32          return c;
33      }
34  
35      public String getTestEndpointURI()
36      {
37          return "multicast://228.3.4.5:60106";
38      }
39  
40      public Object getValidMessage() throws Exception
41      {
42          return new DatagramPacket("Hello".getBytes(), 5);
43      }
44  
45      public void testValidListener() throws Exception
46      {
47          MulticastConnector connector = new MulticastConnector();
48          connector.initialise();
49          MuleDescriptor d = getTestDescriptor("orange", Orange.class.getName());
50          UMOComponent component = getTestComponent(d);
51          UMOEndpoint endpoint = getTestEndpoint("Test", UMOEndpoint.ENDPOINT_TYPE_RECEIVER);
52          endpoint.setEndpointURI(null);
53          endpoint.setConnector(connector);
54  
55          try
56          {
57              connector.registerListener(component, endpoint);
58              fail("cannot register with null endpointUri");
59          }
60          catch (Exception e)
61          { /* expected */
62          }
63          endpoint.setEndpointURI(null);
64          try
65          {
66              connector.registerListener(component, endpoint);
67              fail("cannot register with empty endpointUri");
68          }
69          catch (Exception e)
70          { /* expected */
71          }
72  
73          endpoint.setEndpointURI(new MuleEndpointURI("multicast://228.2.3.4:10100"));
74          connector.registerListener(component, endpoint);
75          try
76          {
77              connector.registerListener(component, endpoint);
78              fail("cannot register on the same endpointUri");
79          }
80          catch (Exception e)
81          { /* expected */
82          }
83          connector.dispose();
84      }
85  
86      public void testProperties() throws Exception
87      {
88          MulticastConnector c = new MulticastConnector();
89          c.initialise();
90          c.setReceiveBufferSize(1024);
91          assertEquals(1024, c.getReceiveBufferSize());
92          c.setReceiveBufferSize(0);
93          assertEquals(MulticastConnector.DEFAULT_BUFFER_SIZE, c.getReceiveBufferSize());
94  
95          c.setReceiveTimeout(-1);
96          assertEquals(MulticastConnector.DEFAULT_SOCKET_TIMEOUT, c.getReceiveTimeout());
97  
98          c.setLoopback(true);
99          assertTrue(c.isLoopback());
100     }
101 
102 }