FluentReceivedEmailsAssert.java

1
package fr.sii.ogham.testing.assertion.email;
2
3
import static fr.sii.ogham.testing.assertion.util.AssertionHelper.assertThat;
4
import static fr.sii.ogham.testing.assertion.util.AssertionHelper.overrideDescription;
5
import static org.hamcrest.Matchers.lessThan;
6
7
import java.util.Collection;
8
import java.util.List;
9
10
import javax.mail.Message;
11
12
import org.hamcrest.Matcher;
13
14
import fr.sii.ogham.testing.assertion.util.AssertionRegistry;
15
16
public class FluentReceivedEmailsAssert {
17
	/**
18
	 * List of received messages
19
	 */
20
	private final List<? extends Message> actual;
21
	/**
22
	 * Registry to register assertions
23
	 */
24
	private final AssertionRegistry registry;
25
26
	public FluentReceivedEmailsAssert(List<? extends Message> actual, AssertionRegistry registry) {
27
		this.actual = actual;
28
		this.registry = registry;
29
	}
30
31
	/**
32
	 * Access fluent API to write assertions on a particular received message.
33
	 * 
34
	 * If you want to make assertions on several messages, you may prefer using:
35
	 * 
36
	 * <pre>
37
	 * .receivedMessages().message(0)
38
	 *                       .subject(is("foobar"))
39
	 *                    .and()
40
	 *                    .message(1)
41
	 *                       .subject(is("bar"))
42
	 * </pre>
43
	 * 
44
	 * @param index
45
	 *            the index of the received message
46
	 * @return the fluent API for assertions on the particular message
47
	 */
48
	public FluentEmailAssert<FluentReceivedEmailsAssert> receivedMessage(int index) {
49 4 1. lambda$receivedMessage$0 : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → NO_COVERAGE
2. receivedMessage : removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → NO_COVERAGE
3. lambda$receivedMessage$0 : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → KILLED
4. receivedMessage : removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → KILLED
		registry.register(() -> assertThat(index, overrideDescription("Assertions on message "+index+" can't be executed because "+actual.size()+" messages were received", lessThan(actual.size()))));
50 6 1. receivedMessage : changed conditional boundary → NO_COVERAGE
2. receivedMessage : negated conditional → NO_COVERAGE
3. receivedMessage : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessage → NO_COVERAGE
4. receivedMessage : changed conditional boundary → KILLED
5. receivedMessage : negated conditional → KILLED
6. receivedMessage : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessage → KILLED
		return new FluentEmailAssert<>(index<actual.size() ? actual.get(index) : null, index, this, registry);
51
	}
52
53
	/**
54
	 * Fluent API to write assertions on received messages.
55
	 * 
56
	 * You can write assertions for all messages or a particular message.
57
	 * 
58
	 * For example, for writing assertion on a single message, you can write:
59
	 * 
60
	 * <pre>
61
	 * .receivedMessages().message(0)
62
	 *                       .subject(is("foobar"))
63
	 * </pre>
64
	 * 
65
	 * For writing assertions that are applied on every received message, you
66
	 * can write:
67
	 * 
68
	 * <pre>
69
	 * .receivedMessages().every()
70
	 *                       .subject(is("foobar"))
71
	 * </pre>
72
	 * 
73
	 * Will check that subject of every message is "foobar".
74
	 * 
75
	 * <p>
76
	 * You can use this method to factorize several assertions on a message and
77
	 * then make dedicated assertions on some messages:
78
	 * 
79
	 * <pre>
80
	 * .receivedMessages().every()
81
	 *                       .subject(is("foobar"))
82
	 *                    .and()
83
	 *                    .message(0)
84
	 *                       .body().contentAsString(is("toto"))
85
	 * </pre>
86
	 * 
87
	 * Will check that subject of every message is "foobar" and that body of
88
	 * first received message is "toto".
89
	 * 
90
	 * @return the fluent API for assertions on messages
91
	 */
92
	public FluentEmailsAssert<FluentReceivedEmailsAssert> receivedMessages() {
93 5 1. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → NO_COVERAGE
2. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → TIMED_OUT
3. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED
4. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED
5. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED
		return new FluentEmailsAssert<>(actual, this, registry);
94
	}
95
96
	/**
97
	 * Fluent API to write assertions on received messages.
98
	 * 
99
	 * Make an assertion on received messages list (JavaMail message).
100
	 * 
101
	 * For example, for writing assertion on a single message, you can write:
102
	 * 
103
	 * <pre>
104
	 * .receivedMessages(is(Matchers.&lt;Message&gt;empty()))
105
	 * </pre>
106
	 * 
107
	 * @param matcher
108
	 *            the assertion to apply on message list
109
	 * @return the fluent API for assertions on messages
110
	 */
111
	public FluentEmailsAssert<FluentReceivedEmailsAssert> receivedMessages(Matcher<Collection<? extends Message>> matcher) {
112 6 1. lambda$receivedMessages$1 : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → NO_COVERAGE
2. lambda$receivedMessages$1 : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → SURVIVED
3. receivedMessages : removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → SURVIVED
4. receivedMessages : removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → NO_COVERAGE
5. lambda$receivedMessages$1 : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → KILLED
6. receivedMessages : removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → KILLED
		registry.register(() -> assertThat("Received messages", actual, matcher));
113 3 1. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → SURVIVED
2. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → NO_COVERAGE
3. receivedMessages : replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED
		return receivedMessages();
114
	}
115
116
}

Mutations

49

1.1
Location : lambda$receivedMessage$0
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → KILLED

2.2
Location : lambda$receivedMessage$0
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → NO_COVERAGE

3.3
Location : receivedMessage
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → KILLED

4.4
Location : receivedMessage
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → NO_COVERAGE

50

1.1
Location : receivedMessage
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
changed conditional boundary → KILLED

2.2
Location : receivedMessage
Killed by : none
changed conditional boundary → NO_COVERAGE

3.3
Location : receivedMessage
Killed by : none
negated conditional → NO_COVERAGE

4.4
Location : receivedMessage
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
negated conditional → KILLED

5.5
Location : receivedMessage
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessage → NO_COVERAGE

6.6
Location : receivedMessage
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessage → KILLED

93

1.1
Location : receivedMessages
Killed by : oghamjavamail.it.JavaMailSmtpTest.simple(oghamjavamail.it.JavaMailSmtpTest)
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED

2.2
Location : receivedMessages
Killed by : oghamall.it.configuration.EmptyBuilderTest.manualJavaMailConfigurationCanSendEmail(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED

3.3
Location : receivedMessages
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED

4.4
Location : receivedMessages
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → TIMED_OUT

5.5
Location : receivedMessages
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → NO_COVERAGE

112

1.1
Location : lambda$receivedMessages$1
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → KILLED

2.2
Location : lambda$receivedMessages$1
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → NO_COVERAGE

3.3
Location : lambda$receivedMessages$1
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → SURVIVED

4.4
Location : receivedMessages
Killed by : oghamtesting.it.assertion.FluentEmailAssertionsSpec
removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → KILLED

5.5
Location : receivedMessages
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → SURVIVED

6.6
Location : receivedMessages
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionRegistry::register → NO_COVERAGE

113

1.1
Location : receivedMessages
Killed by : oghamall.it.configuration.EmptyBuilderTest.manualJavaMailConfigurationCanSendEmail(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → KILLED

2.2
Location : receivedMessages
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → SURVIVED

3.3
Location : receivedMessages
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/email/FluentReceivedEmailsAssert::receivedMessages → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT OGHAM