⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagelisteneradapter102tests.java

📁 struts+spring 源码 希望能给大家带来帮助
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        };
        adapter.setDefaultResponseDestination(destination);
        adapter.onMessage(sentTextMessage, session);

        mockDelegate.verify();
        mockSentTextMessage.verify();
        mockResponseTextMessage.verify();
        mockSession.verify();
        mockDestination.verify();
        mockTopicPublisher.verify();
    }

    public void testWithResponsiveMessageDelegateNoDefaultDestination_SendsReturnTextMessageWhenSessionSupplied() throws Exception {

        MockControl mockDestination = MockControl.createControl(Queue.class);
        Queue destination = (Queue) mockDestination.getMock();
        mockDestination.replay();

        MockControl mockSentTextMessage = MockControl.createControl(TextMessage.class);
        TextMessage sentTextMessage = (TextMessage) mockSentTextMessage.getMock();
        // correlation ID is queried when response is being created...
        sentTextMessage.getJMSCorrelationID();
        mockSentTextMessage.setReturnValue(CORRELATION_ID);
        // Reply-To is queried when response is being created...
        sentTextMessage.getJMSReplyTo();
        mockSentTextMessage.setReturnValue(destination);
        mockSentTextMessage.replay();

        MockControl mockResponseTextMessage = MockControl.createControl(TextMessage.class);
        TextMessage responseTextMessage = (TextMessage) mockResponseTextMessage.getMock();
        responseTextMessage.setJMSCorrelationID(CORRELATION_ID);
        mockResponseTextMessage.setVoidCallable();
        mockResponseTextMessage.replay();

        MockControl mockQueueSender = MockControl.createControl(QueueSender.class);
        QueueSender queueSender = (QueueSender) mockQueueSender.getMock();
        queueSender.send(responseTextMessage);
        mockQueueSender.setVoidCallable();
        queueSender.close();
        mockQueueSender.setVoidCallable();
        mockQueueSender.replay();

        MockControl mockSession = MockControl.createControl(QueueSession.class);
        QueueSession session = (QueueSession) mockSession.getMock();
        session.createTextMessage(RESPONSE_TEXT);
        mockSession.setReturnValue(responseTextMessage);
        session.createSender(destination);
        mockSession.setReturnValue(queueSender);
        mockSession.replay();

        MockControl mockDelegate = MockControl.createControl(ResponsiveMessageDelegate.class);
        ResponsiveMessageDelegate delegate = (ResponsiveMessageDelegate) mockDelegate.getMock();
        delegate.handleMessage(sentTextMessage);
        mockDelegate.setReturnValue(RESPONSE_TEXT);
        mockDelegate.replay();

        MessageListenerAdapter102 adapter = new MessageListenerAdapter102(delegate) {
            protected Object extractMessage(Message message) {
                return message;
            }
        };
        adapter.onMessage(sentTextMessage, session);

        mockDelegate.verify();
        mockSentTextMessage.verify();
        mockResponseTextMessage.verify();
        mockSession.verify();
        mockDestination.verify();
        mockQueueSender.verify();
    }

    public void testWithResponsiveMessageDelegateNoDefaultDestinationAndNoReplyToDestination_SendsReturnTextMessageWhenSessionSupplied() throws Exception {

        MockControl mockSentTextMessage = MockControl.createControl(TextMessage.class);
        final TextMessage sentTextMessage = (TextMessage) mockSentTextMessage.getMock();
        // correlation ID is queried when response is being created...
        sentTextMessage.getJMSCorrelationID();
        mockSentTextMessage.setReturnValue(CORRELATION_ID);
        // Reply-To is queried when response is being created...
        sentTextMessage.getJMSReplyTo();
        mockSentTextMessage.setReturnValue(null);
        mockSentTextMessage.replay();

        MockControl mockResponseTextMessage = MockControl.createControl(TextMessage.class);
        TextMessage responseTextMessage = (TextMessage) mockResponseTextMessage.getMock();
        responseTextMessage.setJMSCorrelationID(CORRELATION_ID);
        mockResponseTextMessage.setVoidCallable();
        mockResponseTextMessage.replay();

        MockControl mockSession = MockControl.createControl(QueueSession.class);
        final QueueSession session = (QueueSession) mockSession.getMock();
        session.createTextMessage(RESPONSE_TEXT);
        mockSession.setReturnValue(responseTextMessage);
        mockSession.replay();

        MockControl mockDelegate = MockControl.createControl(ResponsiveMessageDelegate.class);
        ResponsiveMessageDelegate delegate = (ResponsiveMessageDelegate) mockDelegate.getMock();
        delegate.handleMessage(sentTextMessage);
        mockDelegate.setReturnValue(RESPONSE_TEXT);
        mockDelegate.replay();

        final MessageListenerAdapter102 adapter = new MessageListenerAdapter102(delegate) {
            protected Object extractMessage(Message message) {
                return message;
            }
        };
        new AssertThrows(InvalidDestinationException.class) {
            public void test() throws Exception {
                adapter.onMessage(sentTextMessage, session);
            }
        }.runTest();

        mockDelegate.verify();
        mockSentTextMessage.verify();
        mockResponseTextMessage.verify();
        mockSession.verify();
    }

    public void testWithResponsiveMessageDelegateNoDefaultDestination_SendsReturnTextMessageWhenSessionSupplied_AndSendingThrowsJMSException() throws Exception {

        MockControl mockDestination = MockControl.createControl(Queue.class);
        Queue destination = (Queue) mockDestination.getMock();
        mockDestination.replay();

        MockControl mockSentTextMessage = MockControl.createControl(TextMessage.class);
        final TextMessage sentTextMessage = (TextMessage) mockSentTextMessage.getMock();
        // correlation ID is queried when response is being created...
        sentTextMessage.getJMSCorrelationID();
        mockSentTextMessage.setReturnValue(CORRELATION_ID);
        // Reply-To is queried when response is being created...
        sentTextMessage.getJMSReplyTo();
        mockSentTextMessage.setReturnValue(destination);
        mockSentTextMessage.replay();

        MockControl mockResponseTextMessage = MockControl.createControl(TextMessage.class);
        TextMessage responseTextMessage = (TextMessage) mockResponseTextMessage.getMock();
        responseTextMessage.setJMSCorrelationID(CORRELATION_ID);
        mockResponseTextMessage.setVoidCallable();
        mockResponseTextMessage.replay();

        MockControl mockQueueSender = MockControl.createControl(QueueSender.class);
        QueueSender queueSender = (QueueSender) mockQueueSender.getMock();
        queueSender.send(responseTextMessage);
        mockQueueSender.setThrowable(new JMSException("Dow!"));
        // ensure that regardless of a JMSException the producer is closed... 
        queueSender.close();
        mockQueueSender.setVoidCallable();
        mockQueueSender.replay();

        MockControl mockSession = MockControl.createControl(QueueSession.class);
        final QueueSession session = (QueueSession) mockSession.getMock();
        session.createTextMessage(RESPONSE_TEXT);
        mockSession.setReturnValue(responseTextMessage);
        session.createSender(destination);
        mockSession.setReturnValue(queueSender);
        mockSession.replay();

        MockControl mockDelegate = MockControl.createControl(ResponsiveMessageDelegate.class);
        ResponsiveMessageDelegate delegate = (ResponsiveMessageDelegate) mockDelegate.getMock();
        delegate.handleMessage(sentTextMessage);
        mockDelegate.setReturnValue(RESPONSE_TEXT);
        mockDelegate.replay();

        final MessageListenerAdapter102 adapter = new MessageListenerAdapter102(delegate) {
            protected Object extractMessage(Message message) {
                return message;
            }
        };
        new AssertThrows(JMSException.class) {
            public void test() throws Exception {
                adapter.onMessage(sentTextMessage, session);
            }
        }.runTest();

        mockDelegate.verify();
        mockSentTextMessage.verify();
        mockResponseTextMessage.verify();
        mockSession.verify();
        mockDestination.verify();
        mockQueueSender.verify();
    }

    public void testWithResponsiveMessageDelegateDoesNotSendReturnTextMessageWhenSessionSupplied_AndListenerMethodThrowsException() throws Exception {

        MockControl mockSentTextMessage = MockControl.createControl(TextMessage.class);
        final TextMessage sentTextMessage = (TextMessage) mockSentTextMessage.getMock();
        mockSentTextMessage.replay();

        MockControl mockSession = MockControl.createControl(QueueSession.class);
        final QueueSession session = (QueueSession) mockSession.getMock();
        mockSession.replay();

        MockControl mockDelegate = MockControl.createControl(ResponsiveMessageDelegate.class);
        ResponsiveMessageDelegate delegate = (ResponsiveMessageDelegate) mockDelegate.getMock();
        delegate.handleMessage(sentTextMessage);
        mockDelegate.setThrowable(new IllegalArgumentException("Dow!"));
        mockDelegate.replay();

        final MessageListenerAdapter102 adapter = new MessageListenerAdapter102(delegate) {
            protected Object extractMessage(Message message) {
                return message;
            }
        };
        new AssertThrows(ListenerExecutionFailedException.class) {
            public void test() throws Exception {
                adapter.onMessage(sentTextMessage, session);
            }
        }.runTest();

        mockDelegate.verify();
        mockSentTextMessage.verify();
        mockSession.verify();
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -