Package com.prancingdonkey.interceptor

Source Code of com.prancingdonkey.interceptor.PayloadCacheFunctionalTestCase

package com.prancingdonkey.interceptor;

import static org.junit.Assert.assertEquals;

import java.io.File;
import java.io.FileOutputStream;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.junit.Test;
import org.mule.module.client.MuleClient;
import org.mule.tck.junit4.FunctionalTestCase;
public class PayloadCacheFunctionalTestCase extends FunctionalTestCase {

    private String expectedHash;

    private String tempFileName;

    @Override
    protected String getConfigResources() {
        return "md5fh-cache-config.xml";
    }

    @Override
    protected void doSetUp() throws Exception {
        super.doSetUp();

        // prepare test file for MD5 File Hasher Service
        final String fileData = RandomStringUtils.randomAscii(100);

        final File tempFile = File.createTempFile("mia-", null);
        tempFile.deleteOnExit();

        FileOutputStream fos = null;

        try {
            fos = new FileOutputStream(tempFile);
            fos.write(fileData.getBytes("US-ASCII"));
            fos.flush();
        } finally {
            fos.close();
        }

        expectedHash = DigestUtils.md5Hex(fileData);
        tempFileName = tempFile.getName();
    }

    @Test
    public void testMd5FileHasher() throws Exception {
        final MuleClient muleClient = new MuleClient(muleContext);

        assertEquals(expectedHash, muleClient.send("vm://Md5FileHasher.In",
                tempFileName, null).getPayload());

        // a pretty harsh way to demonstrate that the hasher component does not
        // hit the file transport anymore
        muleClient.getMuleContext().getRegistry().lookupConnector(
                "NonDeletingFileConnector").dispose();

        assertEquals(expectedHash, muleClient.send("vm://Md5FileHasher.In",
                tempFileName, null).getPayload());

        muleClient.dispose();
    }
}
TOP

Related Classes of com.prancingdonkey.interceptor.PayloadCacheFunctionalTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.