Package org.jboss.soa.esb.listeners.message

Source Code of org.jboss.soa.esb.listeners.message.ServiceInvokerCallUnitTest

/*
* JBoss, Home of Professional Open Source
* Copyright 2006, JBoss Inc., and others contributors as indicated
* by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
* This copyrighted material is made available to anyone wishing to use,
* modify, copy, or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License, v. 2.1.
* This program is distributed in the hope that it will be useful, but WITHOUT A
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License,
* v.2.1 along with this distribution; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA  02110-1301, USA.
*
* (C) 2005-2006, JBoss Inc.
*/
package org.jboss.soa.esb.listeners.message;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;

import java.net.URI;

import junit.framework.JUnit4TestAdapter;

import org.jboss.internal.soa.esb.couriers.MockCourier;
import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
import org.jboss.internal.soa.esb.services.registry.MockRegistry;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* Tests for Call modifications while invoking through ServiceInvoker.
*
* @author <a href="mailto:kevin.conner@jboss.com">Kevin Conner</a>
*/
public class ServiceInvokerCallUnitTest
{
    private EPR deliverEPR ;
    private EPR failEPR ;
    private EPR pickupEPR ;
    private JMSEpr jmsDeliverEPR ;
    private MockCourier deliverCourier ;
    private MockCourier failCourier ;
    private Message responseMessage ;

    @Before
    public void setUp()
        throws Exception
    {
        MockCourierFactory.install() ;
        MockRegistry.install() ;

        deliverEPR = new JMSEpr(JMSEpr.QUEUE_TYPE, "test:deliver", "ConnectionFactory") ;
        failEPR = new JMSEpr(JMSEpr.QUEUE_TYPE, "test:fail", "ConnectionFactory") ;
        pickupEPR = new EPR(new URI("test:pickup")) ;
        jmsDeliverEPR = new JMSEpr(JMSEpr.QUEUE_TYPE, "deliver", "ConnectionFactory") ;

        deliverCourier = new MockCourier(true);
        failCourier = new MockCourier(false);
        responseMessage = MessageFactory.getInstance().getMessage() ;
        deliverCourier.pickupMessage = responseMessage ;

        MockRegistry.register("test", "deliver", deliverEPR, deliverCourier);
        MockRegistry.register("test", "fail", failEPR, failCourier);
        MockRegistry.register("test", "jmsdeliver", jmsDeliverEPR, deliverCourier);
       
        final EPR deadLetterEPR = new EPR(new URI("internal:DLQ")) ;
        MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, deadLetterEPR, deliverCourier);
    }
   
    @After
    public void tearDown()
        throws Exception
    {
        MockRegistry.uninstall() ;
        MockCourierFactory.uninstall() ;
    }
   
    @Test
    public void testNullSyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "jmsdeliver") ;
        final Message resp = si.deliverSync(message, 10) ;
       
        assertEquals("Response message", resp, responseMessage) ;
       
        assertNull("Call To EPR", message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testNonNullToSyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(failEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "jmsdeliver") ;
        final Message resp = si.deliverSync(message, 10) ;
       
        assertEquals("Response message", resp, responseMessage) ;
       
        assertEquals("Call To EPR", failEPR, message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testNonNullSyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(failEPR) ;
        message.getHeader().getCall().setReplyTo(pickupEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "jmsdeliver") ;
        final Message resp = si.deliverSync(message, 10) ;
       
        assertEquals("Response message", resp, responseMessage) ;
       
        assertEquals("Call To EPR", failEPR, message.getHeader().getCall().getTo()) ;
        assertEquals("Call ReplyTo EPR", pickupEPR, message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testNullAsyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "jmsdeliver") ;
        si.deliverAsync(message) ;
       
        assertNull("Call To EPR", message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testNonNullToAsyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(failEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "jmsdeliver") ;
        si.deliverAsync(message) ;
       
        assertEquals("Call To EPR", failEPR, message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testNonNullAsyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(failEPR) ;
        message.getHeader().getCall().setReplyTo(pickupEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "jmsdeliver") ;
        si.deliverAsync(message) ;
       
        assertEquals("Call To EPR", failEPR, message.getHeader().getCall().getTo()) ;
        assertEquals("Call ReplyTo EPR", pickupEPR, message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testFailNullSyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "fail") ;
        try
        {
            si.deliverSync(message, 10) ;
            fail("Expected MessageDeliveryException") ;
        }
        catch (final MessageDeliverException mde) {} // expected
       
        assertNull("Call To EPR", message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testFailNonNullToSyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(deliverEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "fail") ;
        try
        {
            si.deliverSync(message, 10) ;
            fail("Expected MessageDeliveryException") ;
        }
        catch (final MessageDeliverException mde) {} // expected
       
        assertEquals("Call To EPR", deliverEPR, message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testFailNonNullSyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(deliverEPR) ;
        message.getHeader().getCall().setReplyTo(pickupEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "fail") ;
        try
        {
            si.deliverSync(message, 10) ;
            fail("Expected MessageDeliveryException") ;
        }
        catch (final MessageDeliverException mde) {} // expected
       
        assertEquals("Call To EPR", deliverEPR, message.getHeader().getCall().getTo()) ;
        assertEquals("Call ReplyTo EPR", pickupEPR, message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testFailNullAsyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "fail") ;
        si.deliverAsync(message) ;
       
        assertNull("Call To EPR", message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testFailNonNullToAsyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(deliverEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "fail") ;
        si.deliverAsync(message) ;
       
        assertEquals("Call To EPR", deliverEPR, message.getHeader().getCall().getTo()) ;
        assertNull("Call ReplyTo EPR", message.getHeader().getCall().getReplyTo()) ;
    }
   
    @Test
    public void testFailNonNullAsyncEPRs()
        throws Exception
    {
        final Message message = MessageFactory.getInstance().getMessage() ;
        message.getHeader().getCall().setTo(deliverEPR) ;
        message.getHeader().getCall().setReplyTo(pickupEPR) ;
       
        final ServiceInvoker si = new ServiceInvoker("test", "fail") ;
        si.deliverAsync(message) ;
       
        assertEquals("Call To EPR", deliverEPR, message.getHeader().getCall().getTo()) ;
        assertEquals("Call ReplyTo EPR", pickupEPR, message.getHeader().getCall().getReplyTo()) ;
    }
   
    public static junit.framework.Test suite()
    {
        return new JUnit4TestAdapter(ServiceInvokerCallUnitTest.class) ;
    }
}
TOP

Related Classes of org.jboss.soa.esb.listeners.message.ServiceInvokerCallUnitTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.