EmailStoreMessageIdTest.java :  » Testing » webtest » com » canoo » webtest » plugins » emailtest » Java Open Source

Java Open Source » Testing » webtest 
webtest » com » canoo » webtest » plugins » emailtest » EmailStoreMessageIdTest.java
// Copyright  2006-2007 ASERT. Released under the Canoo Webtest license.
package com.canoo.webtest.plugins.emailtest;

import javax.mail.Message;

import com.canoo.webtest.steps.Step;

/**
 * Test for {@link EmailStoreMessageId}.
 *
 * @author Paul King, ASERT
 */
public class EmailStoreMessageIdTest extends BaseEmailTestCase
{
    private static final String PROPERTY_NAME = "dummyPropertyName";
    private static final String DUMMY_MESSAGE_ID = "123";

    protected Step createStep() {
        return new EmailStoreMessageId();
    }

    public void testInvalidMessageIndex() {
        final EmailStoreMessageId step = (EmailStoreMessageId) getStep();
        step.getContext().put("EmailConfigInfo", null);
        step.setProperty(PROPERTY_NAME);
        step.setMessageIndex("non-integer");
        assertErrorOnExecute(step, "invalid messageIndex",
                "Can't parse messageIndex parameter with value 'non-integer' as an integer.");
    }

    public void testNoMatches() throws Exception {
        final EmailStoreMessageId step = (EmailStoreMessageId) getStep();
        step.setProperty(PROPERTY_NAME);
        final EmailHelper helper = (EmailHelper) mock(EmailHelper.class, "helper");
        step.setHelper(helper);
        final boolean deleteOnExit = false;
        setUpGetMessagesExpectations(step, helper, 0);
        setUpMessageOperationFinaliseExpectations(helper, deleteOnExit);
        startVerification();
        assertFailOnExecute(step, "expected to fail",
                "Error processing content: No messages matching criteria.");
    }

    public void testIndexTooBig() throws Exception {
        final EmailStoreMessageId step = (EmailStoreMessageId) getStep();
        step.setProperty(PROPERTY_NAME);
        step.setMessageIndex("6");
        final EmailHelper helper = (EmailHelper) mock(EmailHelper.class, "helper");
        step.setHelper(helper);
        final boolean deleteOnExit = false;
        setUpGetMessagesExpectations(step, helper, 4);
        setUpMessageOperationFinaliseExpectations(helper, deleteOnExit);
        startVerification();
        assertFailOnExecute(step, "expected to fail",
                "Error processing content: Invalid messageIndex '6', valid range is 0..3");
    }

    public void testIndexJustRight() throws Exception {
        final EmailStoreMessageId step = (EmailStoreMessageId) getStep();
        step.setProperty(PROPERTY_NAME);
        step.setMessageIndex("2");
        final EmailHelper helper = (EmailHelper) mock(EmailHelper.class, "helper");
        step.setHelper(helper);
        final boolean deleteOnExit = false;
        Message[] messages = setUpGetMessagesExpectations(step, helper, 4);
        messages[2].getMessageNumber();
        modify().returnValue(Integer.parseInt(DUMMY_MESSAGE_ID));
        setUpMessageOperationFinaliseExpectations(helper, deleteOnExit);
        startVerification();
        executeStep(step);
        assertEquals(DUMMY_MESSAGE_ID, step.getWebtestProperty(PROPERTY_NAME));
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.