All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.sii.ogham.helper.email.ExpectedContent Maven / Gradle / Ivy

package fr.sii.ogham.helper.email;

import java.io.IOException;
import java.io.InputStream;
import java.util.regex.Pattern;

import org.apache.commons.io.IOUtils;

/**
 * Class used in tests for ensuring that the content of an email is respected.
 * It contains the expected content and the expected Mime Type.
 * 
 * @author Aurélien Baudet
 *
 */
public class ExpectedContent {
	/**
	 * The expected body content as string
	 */
	private String body;

	/**
	 * The expected Mime Type (regular expression)
	 */
	private Pattern mimetype;

	/**
	 * Initialize with the expected body and the expected Mime Type (regular
	 * expression).
	 * 
	 * @param body
	 *            the expected body
	 * @param mimetype
	 *            the expected Mime Type pattern
	 */
	public ExpectedContent(String body, String mimetype) {
		this(body, Pattern.compile(mimetype));
	}

	/**
	 * Initialize with the expected body and the expected Mime Type pattern.
	 * 
	 * @param body
	 *            the expected body
	 * @param mimetype
	 *            the expected Mime Type pattern
	 */
	public ExpectedContent(String body, Pattern mimetype) {
		super();
		this.body = body;
		this.mimetype = mimetype;
	}

	/**
	 * Initialize with the expected body and the expected Mime Type pattern.
	 * 
	 * @param body
	 *            the expected body to read from the stream
	 * @param mimetype
	 *            the expected Mime Type pattern
	 * @throws IOException
	 *             when the expected content stream is not readable
	 */
	public ExpectedContent(InputStream body, String mimetype) throws IOException {
		this(IOUtils.toString(body), mimetype);
	}

	public String getBody() {
		return body;
	}

	public Pattern getMimetype() {
		return mimetype;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy