ExpectedAttachment.java

1
package fr.sii.ogham.testing.assertion.email;
2
3
import static fr.sii.ogham.testing.assertion.util.EmailUtils.ATTACHMENT_DISPOSITION;
4
5
import java.io.File;
6
import java.io.IOException;
7
import java.io.InputStream;
8
import java.util.regex.Pattern;
9
10
import org.apache.commons.io.IOUtils;
11
12
/**
13
 * Class used in tests for ensuring that the attachment is respected. It
14
 * provides the following information:
15
 * <ul>
16
 * <li>The expected name of the attachment</li>
17
 * <li>The expected Mime type of the attachment</li>
18
 * <li>The expected content of the attachment</li>
19
 * <li>The expected description of the attachment</li>
20
 * <li>The expected disposition of the attachment</li>
21
 * </ul>
22
 * 
23
 * @author Aurélien Baudet
24
 */
25
public class ExpectedAttachment {
26
27
	/**
28
	 * The name of the attachment
29
	 */
30
	private String name;
31
32
	/**
33
	 * The mimetype pattern for the attachment
34
	 */
35
	private Pattern mimetype;
36
37
	/**
38
	 * The description of the attachment
39
	 */
40
	private String description;
41
42
	/**
43
	 * The disposition of the attachment
44
	 */
45
	private String disposition;
46
47
	/**
48
	 * The content of the attachment
49
	 */
50
	private byte[] content;
51
52
	public ExpectedAttachment(String name, Pattern mimetype, byte[] content, String description, String disposition) {
53
		super();
54
		this.name = name;
55
		this.mimetype = mimetype;
56
		this.description = description;
57
		this.disposition = disposition;
58
		this.content = content;
59
	}
60
61
	public ExpectedAttachment(String name, Pattern mimetype, byte[] content, String description) {
62
		this(name, mimetype, content, description, ATTACHMENT_DISPOSITION);
63
	}
64
65
	public ExpectedAttachment(String name, Pattern mimetype, byte[] content) {
66
		this(name, mimetype, content, null);
67
	}
68
69
	public ExpectedAttachment(String name, Pattern mimetype, InputStream content, String description, String disposition) throws IOException {
70
		this(name, mimetype, IOUtils.toByteArray(content), description, disposition);
71
	}
72
73
	public ExpectedAttachment(String name, Pattern mimetype, InputStream content, String description) throws IOException {
74
		this(name, mimetype, content, description, ATTACHMENT_DISPOSITION);
75
	}
76
77
	public ExpectedAttachment(String name, Pattern mimetype, InputStream content) throws IOException {
78
		this(name, mimetype, content, null);
79
	}
80
81
	public ExpectedAttachment(String expectedContentPath, Pattern mimetype, String description, String disposition) throws IOException {
82
		this(new File(expectedContentPath).getName(), mimetype, ExpectedAttachment.class.getResourceAsStream(expectedContentPath), description, disposition);
83
	}
84
85
	public ExpectedAttachment(String expectedContentPath, Pattern mimetype, String description) throws IOException {
86
		this(expectedContentPath, mimetype, description, ATTACHMENT_DISPOSITION);
87
	}
88
89
	public ExpectedAttachment(String expectedContentPath, Pattern mimetype) throws IOException {
90
		this(expectedContentPath, mimetype, (String) null);
91
	}
92
93
	public ExpectedAttachment(String name, String mimetype, byte[] content, String description, String disposition) {
94
		this(name, Pattern.compile(mimetype), content, description, disposition);
95
	}
96
97
	public ExpectedAttachment(String name, String mimetype, byte[] content, String description) {
98
		this(name, mimetype, content, description, ATTACHMENT_DISPOSITION);
99
	}
100
101
	public ExpectedAttachment(String name, String mimetype, byte[] content) {
102
		this(name, mimetype, content, null);
103
	}
104
105
	public ExpectedAttachment(String name, String mimetype, InputStream content, String description, String disposition) throws IOException {
106
		this(name, mimetype, IOUtils.toByteArray(content), description, disposition);
107
	}
108
109
	public ExpectedAttachment(String name, String mimetype, InputStream content, String description) throws IOException {
110
		this(name, mimetype, content, description, ATTACHMENT_DISPOSITION);
111
	}
112
113
	public ExpectedAttachment(String name, String mimetype, InputStream content) throws IOException {
114
		this(name, mimetype, content, null);
115
	}
116
117
	public ExpectedAttachment(String expectedContentPath, String mimetype, String description, String disposition) throws IOException {
118
		this(new File(expectedContentPath).getName(), mimetype, ExpectedAttachment.class.getResourceAsStream(expectedContentPath), description, disposition);
119
	}
120
121
	public ExpectedAttachment(String expectedContentPath, String mimetype, String description) throws IOException {
122
		this(expectedContentPath, mimetype, description, ATTACHMENT_DISPOSITION);
123
	}
124
125
	public ExpectedAttachment(String expectedContentPath, String mimetype) throws IOException {
126
		this(expectedContentPath, mimetype, (String) null);
127
	}
128
129
	public String getName() {
130 2 1. getName : replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getName → NO_COVERAGE
2. getName : replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getName → KILLED
		return name;
131
	}
132
133
	public Pattern getMimetype() {
134 2 1. getMimetype : replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getMimetype → NO_COVERAGE
2. getMimetype : replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getMimetype → KILLED
		return mimetype;
135
	}
136
137
	public String getDescription() {
138 2 1. getDescription : replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDescription → NO_COVERAGE
2. getDescription : replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDescription → KILLED
		return description;
139
	}
140
141
	public String getDisposition() {
142 2 1. getDisposition : replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDisposition → NO_COVERAGE
2. getDisposition : replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDisposition → KILLED
		return disposition;
143
	}
144
145
	public byte[] getContent() {
146 2 1. getContent : replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getContent → NO_COVERAGE
2. getContent : replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getContent → KILLED
		return content;
147
	}
148
149
}

Mutations

130

1.1
Location : getName
Killed by : oghamtesting.it.assertion.AssertAttachmentSpec
replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getName → KILLED

2.2
Location : getName
Killed by : none
replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getName → NO_COVERAGE

134

1.1
Location : getMimetype
Killed by : oghamtesting.it.assertion.AssertAttachmentSpec
replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getMimetype → KILLED

2.2
Location : getMimetype
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getMimetype → NO_COVERAGE

138

1.1
Location : getDescription
Killed by : none
replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDescription → NO_COVERAGE

2.2
Location : getDescription
Killed by : oghamtesting.it.assertion.AssertAttachmentSpec
replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDescription → KILLED

142

1.1
Location : getDisposition
Killed by : oghamtesting.it.assertion.AssertAttachmentSpec
replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDisposition → KILLED

2.2
Location : getDisposition
Killed by : none
replaced return value with "" for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getDisposition → NO_COVERAGE

146

1.1
Location : getContent
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getContent → NO_COVERAGE

2.2
Location : getContent
Killed by : oghamtesting.it.assertion.AssertAttachmentSpec
replaced return value with null for fr/sii/ogham/testing/assertion/email/ExpectedAttachment::getContent → KILLED

Active mutators

Tests examined


Report generated by PIT OGHAM