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

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

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

    使用Jmock測(cè)試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 劉錚 閱讀(894) 評(píng)論(0)  編輯  收藏 所屬分類: Jmock

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    統(tǒng)計(jì)

    留言簿(1)

    文章分類(141)

    文章檔案(147)

    搜索

    最新評(píng)論

    主站蜘蛛池模板: 免费视频爱爱太爽了| 国产福利免费视频| 亚洲欧洲免费无码| 亚洲熟妇无码久久精品| 最近免费视频中文字幕大全| 亚洲一区二区三区四区在线观看| 成全在线观看免费观看大全| 亚洲综合激情另类专区| EEUSS影院WWW在线观看免费| 国产亚洲美女精品久久久2020| 狠狠躁狠狠爱免费视频无码| 精品久久香蕉国产线看观看亚洲| 国产一区二区免费| 久久亚洲私人国产精品vA | 黄瓜视频影院在线观看免费| 亚洲视频免费播放| 无码人妻精品中文字幕免费东京热| 亚洲国产日韩女人aaaaaa毛片在线| 6080午夜一级毛片免费看 | 亚洲另类图片另类电影| 黄页网站免费观看| 亚洲精品天堂在线观看| 日本成人免费在线| 国产精品免费一区二区三区| 亚洲国产精品无码一线岛国| 91香蕉在线观看免费高清| 久久精品国产亚洲av麻豆图片| 暖暖日本免费在线视频| 本道天堂成在人线av无码免费| 亚洲综合色丁香麻豆| 免费无码黄动漫在线观看| 三级片免费观看久久| 亚洲福利一区二区精品秒拍| 男女啪啪永久免费观看网站| 99久久99这里只有免费的精品| 亚洲午夜在线电影| 成人免费视频观看无遮挡| a级精品九九九大片免费看| 亚洲第一区二区快射影院| 亚洲人成影院在线观看| 国产精彩免费视频|