/**
 * Copyright (c) 2011-2012 EBM WebSourcing, 2012-2024 Linagora
 * 
 * This program/library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 2.1 of the License, or (at your
 * option) any later version.
 * 
 * This program/library is distributed in the hope that it will be useful, but
 * WITHOUT ANY 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
 * along with this program/library; If not, see http://www.gnu.org/licenses/
 * for the GNU Lesser General Public License version 2.1.
 */
package org.ow2.petals.bc.mail;

import static org.junit.Assert.assertEquals;

import java.util.Map;

import org.junit.Test;
import org.ow2.petals.commons.log.FlowAttributes;
import org.ow2.petals.commons.log.TraceCode;
import org.ow2.petals.component.framework.logger.ProvideExtFlowStepBeginLogDataTest;

/**
 * @author Olivier Fabre - EBM WebSourcing
 */
public class MailProvideExtFlowStepBeginLogDataTest extends ProvideExtFlowStepBeginLogDataTest {

    private final static String TEST_EMAIL_ADDRESS = "(foo@bar.com)";

    @Override
    @Test
    public void testConstructor() {
        final FlowAttributes providerStep = new FlowAttributes(TEST_FLOW_INSTANCE_ID, TEST_FLOW_PREVIOUS_STEP_ID);
        final FlowAttributes provideExtStep = new FlowAttributes(TEST_FLOW_INSTANCE_ID, TEST_FLOW_STEP_ID);
        final MailProvideExtFlowStepBeginLogData logData = new MailProvideExtFlowStepBeginLogData(provideExtStep,
                providerStep, TEST_EMAIL_ADDRESS);

        final TraceCode traceCode = TraceCode.PROVIDE_EXT_FLOW_STEP_BEGIN;
        final Map<String, Object> expectedLogData = createExpectedLogData(traceCode);
        expectedLogData.put(MailProvideExtFlowStepBeginLogData.EMAIL_ADDRESS_KEY, TEST_EMAIL_ADDRESS);
        assertEquals(expectedLogData, logData);
    }
}
