<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    使用Jmock測試Webservice的應(yīng)用

    package nl.enovation.commons.monitor;

    import static org.junit.Assert.assertFalse;
    import static org.junit.Assert.assertTrue;

    import javax.xml.bind.JAXBElement;

    import nl.enovation.ems.archivewebservice.schema.Message;
    import nl.enovation.ems.archivewebservice.schema.MessageInternalIdRquest;
    import nl.enovation.ems.archivewebservice.schema.ObjectFactory;

    import org.apache.commons.lang.math.RandomUtils;
    import org.jmock.Expectations;
    import org.jmock.Mockery;
    import org.jmock.integration.junit4.JUnit4Mockery;
    import org.jmock.lib.legacy.ClassImposteriser;
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.ws.client.WebServiceFaultException;
    import org.springframework.ws.client.core.WebServiceTemplate;


    public class MailArchiveWebserviceCheckerTest {

        private MailArchiveWebserviceChecker mailArchiveWebserviceChecker = new MailArchiveWebserviceChecker();

        private WebServiceTemplate webServiceTemplate;

        private ObjectFactory objectFactory;

        private Mockery context = new JUnit4Mockery() {
            {
                setImposteriser(ClassImposteriser.INSTANCE);
            }
        };

        private MessageInternalIdRquest messageInternalIdRquest;

        private Message message;

        @Before
        public void setUp() {
            webServiceTemplate = context.mock(WebServiceTemplate.class);
            objectFactory = new ObjectFactory();
            messageInternalIdRquest = objectFactory.createMessageInternalIdRquest();
            messageInternalIdRquest.setMessageInternalId(createRandomMessageId());
            message = objectFactory.createMessage();
            mailArchiveWebserviceChecker.setWebServiceTemplate(webServiceTemplate);
        }

        @Test
        public void shouldReturnTrue() {
            String messageId = createRandomMessageId();
            message.setMessageId(messageId);
            createMockedResponse();
            assertTrue(mailArchiveWebserviceChecker.check(messageId));
            context.assertIsSatisfied();
        }

        @Test
        public void shouldReturnFalse() {
            String messageId = createRandomMessageId();
            String anotherMessageId = createRandomMessageId();
            message.setMessageId(messageId);
            createMockedResponse();
            assertFalse(mailArchiveWebserviceChecker.check(anotherMessageId));
            context.assertIsSatisfied();
        }
       
        @Test
        public void shouldReturnFalseCausedByException() {
            String messageId = createRandomMessageId();
            String anotherMessageId = createRandomMessageId();
            message.setMessageId(messageId);
            createMockedExceptionResponse();
            assertFalse(mailArchiveWebserviceChecker.check(anotherMessageId));
        }

        private String createRandomMessageId() {
            return String.valueOf(RandomUtils.nextInt());
        }

        private void createMockedResponse() {
            final JAXBElement<Message> retrieveResponseObj = objectFactory
                    .createRetrieveMessageThroughMessageIdResponse(message);
            // expectations
            context.checking(new Expectations() {
                {
                    one(webServiceTemplate).marshalSendAndReceive(
                            with(any(objectFactory.createMessageInternalIdRquest().getClass())));
                    will(returnValue(retrieveResponseObj));
                }
            });
        }

        private void createMockedExceptionResponse() {
            // expectations
            context.checking(new Expectations() {
                {
                    one(webServiceTemplate).marshalSendAndReceive(
                            with(any(objectFactory.createMessageInternalIdRquest().getClass())));
                    will(throwException(new WebServiceFaultException("")));
                   
                }
            });
        }
    }


    posted on 2008-07-22 10:48 劉錚 閱讀(887) 評論(0)  編輯  收藏 所屬分類: Jmock

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    留言簿(1)

    文章分類(141)

    文章檔案(147)

    搜索

    最新評論

    主站蜘蛛池模板: 久久无码av亚洲精品色午夜| 亚洲视频精品在线观看| 亚洲AV无码AV男人的天堂不卡| 国产卡二卡三卡四卡免费网址| 亚洲日产2021三区在线| 国产人成免费视频网站| 亚洲一区免费在线观看| 最近中文字幕mv手机免费高清| 亚洲妇女熟BBW| 国产美女无遮挡免费视频网站| 色吊丝免费观看网站| 久久亚洲国产成人影院网站| 91视频精品全国免费观看| 亚洲尹人香蕉网在线视颅| 2021久久精品免费观看| 伊人久久五月丁香综合中文亚洲| 好吊妞在线新免费视频| 色费女人18女人毛片免费视频| 亚洲性日韩精品国产一区二区| 国产一区二区三区免费观在线| 亚洲日韩图片专区第1页| 国产福利在线免费| 青青青亚洲精品国产| 国内精品久久久久久久亚洲| 日本人成在线视频免费播放| 亚洲一区中文字幕在线电影网| 精品国产免费观看| eeuss草民免费| 亚洲国产精品久久人人爱| 午夜免费福利在线| 国产日韩久久免费影院| 亚洲精品在线播放视频| 成人免费无码精品国产电影| 中文字幕在线观看免费| 亚洲成a人片毛片在线| 免费成人黄色大片| 99久久99久久精品免费观看| 国产精品亚洲专区无码唯爱网| 亚洲精品乱码久久久久久久久久久久| 免费A级毛片无码无遮挡内射| EEUSS影院WWW在线观看免费|