MultiImplementationSender.java

1
package fr.sii.ogham.core.sender;
2
3
import static fr.sii.ogham.core.util.LogUtils.logString;
4
5
import java.lang.reflect.ParameterizedType;
6
import java.lang.reflect.Type;
7
import java.util.List;
8
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11
12
import fr.sii.ogham.core.condition.Condition;
13
import fr.sii.ogham.core.exception.MessageException;
14
import fr.sii.ogham.core.message.Message;
15
import fr.sii.ogham.core.util.PriorizedList;
16
17
/**
18
 * Decorator sender that is able to handle a particular type of message. And for
19
 * handling this message it can rely on several possible implementations. Each
20
 * implementation is associated to a {@link Condition}. The condition indicates
21
 * at runtime if the message can be handled by the possible implementation.
22
 * There can be any kind of condition (for example, based on a required class in
23
 * the classpath or a particular property value...).
24
 * 
25
 * The implementation selection is done in the {@link #supports(Message)}
26
 * method.
27
 * 
28
 * @author Aurélien Baudet
29
 *
30
 * @param <M>
31
 *            The type of message that the implementations can handle
32
 * @see Condition
33
 */
34
public abstract class MultiImplementationSender<M extends Message> implements ConditionalSender {
35
	private static final Logger LOG = LoggerFactory.getLogger(MultiImplementationSender.class);
36
37
	/**
38
	 * The list of possible implementations indexed by the associated condition
39
	 */
40
	private final PriorizedList<Implementation> implementations;
41
42
	/**
43
	 * Initialize with no registered implementation.
44
	 */
45
	public MultiImplementationSender() {
46
		this(new PriorizedList<>());
47
	}
48
49
	/**
50
	 * Initialize with several implementations.
51
	 * 
52
	 * @param implementations
53
	 *            the list of possible implementations indexed by the condition
54
	 *            that indicates if the implementation is eligible at runtime
55
	 */
56
	public MultiImplementationSender(PriorizedList<Implementation> implementations) {
57
		super();
58
		this.implementations = implementations;
59
	}
60
61
	/**
62
	 * Register a new possible implementation with the associated condition. The
63
	 * implementation is added at the end so any other possible implementation
64
	 * will be used before this one if the associated condition allow it.
65
	 * 
66
	 * @param condition
67
	 *            the condition that indicates if the implementation can be used
68
	 *            at runtime
69
	 * @param implementation
70
	 *            the implementation to register
71
	 * @param priority
72
	 *            the registration priority
73
	 * @return this instance for fluent chaining
74
	 */
75
	public final MultiImplementationSender<M> addImplementation(Condition<Message> condition, MessageSender implementation, int priority) {
76
		implementations.register(new Implementation(condition, implementation), priority);
77 3 1. addImplementation : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::addImplementation → SURVIVED
2. addImplementation : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::addImplementation → NO_COVERAGE
3. addImplementation : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::addImplementation → TIMED_OUT
		return this;
78
	}
79
80
	@Override
81
	public boolean supports(Message message) {
82 13 1. supports : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → NO_COVERAGE
2. supports : negated conditional → NO_COVERAGE
3. supports : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → TIMED_OUT
4. supports : negated conditional → TIMED_OUT
5. supports : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED
6. supports : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED
7. supports : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED
8. supports : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED
9. supports : negated conditional → KILLED
10. supports : negated conditional → KILLED
11. supports : negated conditional → KILLED
12. supports : negated conditional → KILLED
13. supports : negated conditional → KILLED
		return getSender(message) != null;
83
	}
84
85
	@Override
86
	public void send(Message message) throws MessageException {
87
		MessageSender sender = getSender(message);
88 7 1. send : negated conditional → NO_COVERAGE
2. send : negated conditional → TIMED_OUT
3. send : negated conditional → KILLED
4. send : negated conditional → KILLED
5. send : negated conditional → KILLED
6. send : negated conditional → KILLED
7. send : negated conditional → KILLED
		if (sender == null) {
89
			LOG.warn("No implementation is able to send the message {}. Skipping", logString(message));
90
			return;
91
		}
92
		LOG.debug("Sending message {} using {} implementation", logString(message), sender);
93 7 1. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → NO_COVERAGE
2. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → TIMED_OUT
3. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED
4. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED
5. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED
6. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED
7. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED
		sender.send(message);
94
	}
95
96
	public List<Implementation> getImplementations() {
97 6 1. getImplementations : replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → SURVIVED
2. getImplementations : replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → NO_COVERAGE
3. getImplementations : replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → TIMED_OUT
4. getImplementations : replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → KILLED
5. getImplementations : replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → KILLED
6. getImplementations : replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → KILLED
		return implementations.getOrdered();
98
	}
99
100
	protected boolean supportsMessageType(Message message) {
101
		Class<M> managedClass = getManagedClass();
102 6 1. supportsMessageType : negated conditional → NO_COVERAGE
2. supportsMessageType : negated conditional → TIMED_OUT
3. supportsMessageType : negated conditional → KILLED
4. supportsMessageType : negated conditional → KILLED
5. supportsMessageType : negated conditional → KILLED
6. supportsMessageType : negated conditional → KILLED
		if (managedClass == null) {
103
			LOG.warn("No managed class is declared");
104 1 1. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → NO_COVERAGE
			return false;
105
		}
106 12 1. supportsMessageType : replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → NO_COVERAGE
2. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → NO_COVERAGE
3. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → SURVIVED
4. supportsMessageType : replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → TIMED_OUT
5. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → TIMED_OUT
6. supportsMessageType : replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
7. supportsMessageType : replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
8. supportsMessageType : replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
9. supportsMessageType : replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
10. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
11. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
12. supportsMessageType : replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED
		return managedClass.isAssignableFrom(message.getClass());
107
	}
108
109
	@SuppressWarnings("unchecked")
110
	protected Class<M> getManagedClass() {
111
		Type genericSuperclass = getClass().getGenericSuperclass();
112 7 1. getManagedClass : negated conditional → NO_COVERAGE
2. getManagedClass : negated conditional → TIMED_OUT
3. getManagedClass : negated conditional → KILLED
4. getManagedClass : negated conditional → KILLED
5. getManagedClass : negated conditional → KILLED
6. getManagedClass : negated conditional → KILLED
7. getManagedClass : negated conditional → KILLED
		if (genericSuperclass instanceof ParameterizedType) {
113 6 1. getManagedClass : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → NO_COVERAGE
2. getManagedClass : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → TIMED_OUT
3. getManagedClass : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED
4. getManagedClass : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED
5. getManagedClass : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED
6. getManagedClass : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED
			return (Class<M>) ((ParameterizedType) genericSuperclass).getActualTypeArguments()[0];
114
		}
115
		return null;
116
	}
117
118
	private MessageSender getSender(Message message) {
119 6 1. getSender : negated conditional → NO_COVERAGE
2. getSender : negated conditional → TIMED_OUT
3. getSender : negated conditional → KILLED
4. getSender : negated conditional → KILLED
5. getSender : negated conditional → KILLED
6. getSender : negated conditional → KILLED
		if (supportsMessageType(message)) {
120
			LOG.debug("Can handle the message type {}. Is there any implementation available to send it ?", message.getClass());
121
			for (Implementation impl : implementations.getOrdered()) {
122 6 1. getSender : negated conditional → NO_COVERAGE
2. getSender : negated conditional → TIMED_OUT
3. getSender : negated conditional → KILLED
4. getSender : negated conditional → KILLED
5. getSender : negated conditional → KILLED
6. getSender : negated conditional → KILLED
				if (impl.getCondition().accept(message)) {
123
					LOG.debug("The implementation {} can handle the message {}", impl.getSender(), logString(message));
124 7 1. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → NO_COVERAGE
2. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → TIMED_OUT
3. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED
4. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED
5. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED
6. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED
7. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED
					return impl.getSender();
125
				}
126
			}
127
		}
128
		LOG.debug("Can't handle the message type {}", message.getClass());
129
		return null;
130
	}
131
132
	public static class Implementation {
133
		private final Condition<Message> condition;
134
		private final MessageSender sender;
135
136
		public Implementation(Condition<Message> condition, MessageSender sender) {
137
			super();
138
			this.condition = condition;
139
			this.sender = sender;
140
		}
141
142
		public Condition<Message> getCondition() {
143 6 1. getCondition : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → NO_COVERAGE
2. getCondition : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → TIMED_OUT
3. getCondition : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED
4. getCondition : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED
5. getCondition : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED
6. getCondition : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED
			return condition;
144
		}
145
146
		public MessageSender getSender() {
147 7 1. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → NO_COVERAGE
2. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → TIMED_OUT
3. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED
4. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED
5. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED
6. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED
7. getSender : replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED
			return sender;
148
		}
149
	}
150
}

Mutations

77

1.1
Location : addImplementation
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::addImplementation → SURVIVED

2.2
Location : addImplementation
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::addImplementation → TIMED_OUT

3.3
Location : addImplementation
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::addImplementation → NO_COVERAGE

82

1.1
Location : supports
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED

2.2
Location : supports
Killed by : oghamall.it.sms.SmsCustomImplTest.simple(oghamall.it.sms.SmsCustomImplTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED

3.3
Location : supports
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.noHostDefinedShouldFail(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED

4.4
Location : supports
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → NO_COVERAGE

5.5
Location : supports
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → TIMED_OUT

6.6
Location : supports
Killed by : oghamcore.it.core.sender.AutoRetryTest.smsSentSuccessfullyOnFirstExecution(oghamcore.it.core.sender.AutoRetryTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supports → KILLED

7.7
Location : supports
Killed by : oghamcore.it.core.sender.AutoRetryTest.smsSentSuccessfullyOnFirstExecution(oghamcore.it.core.sender.AutoRetryTest)
negated conditional → KILLED

8.8
Location : supports
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
negated conditional → KILLED

9.9
Location : supports
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.noHostDefinedShouldFail(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
negated conditional → KILLED

10.10
Location : supports
Killed by : none
negated conditional → NO_COVERAGE

11.11
Location : supports
Killed by : none
negated conditional → TIMED_OUT

12.12
Location : supports
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
negated conditional → KILLED

13.13
Location : supports
Killed by : oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest.smsUsingThymeleafTemplateShouldResolveBeansAndUrls(oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest)
negated conditional → KILLED

88

1.1
Location : send
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
negated conditional → KILLED

2.2
Location : send
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : send
Killed by : none
negated conditional → TIMED_OUT

4.4
Location : send
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
negated conditional → KILLED

5.5
Location : send
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
negated conditional → KILLED

6.6
Location : send
Killed by : oghamcore.it.core.sender.AutoRetryTest.smsSentSuccessfullyOnFirstExecution(oghamcore.it.core.sender.AutoRetryTest)
negated conditional → KILLED

7.7
Location : send
Killed by : oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest.smsUsingThymeleafTemplateShouldResolveBeansAndUrls(oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest)
negated conditional → KILLED

93

1.1
Location : send
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED

2.2
Location : send
Killed by : oghamcore.it.core.sender.AutoRetryTest.smsSentSuccessfullyOnFirstExecution(oghamcore.it.core.sender.AutoRetryTest)
removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED

3.3
Location : send
Killed by : none
removed call to fr/sii/ogham/core/sender/MessageSender::send → NO_COVERAGE

4.4
Location : send
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED

5.5
Location : send
Killed by : none
removed call to fr/sii/ogham/core/sender/MessageSender::send → TIMED_OUT

6.6
Location : send
Killed by : oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest.smsUsingThymeleafTemplateShouldResolveBeansAndUrls(oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest)
removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED

7.7
Location : send
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED

97

1.1
Location : getImplementations
Killed by : oghamspringbootv1autoconfigure.it.OghamSpringBoot1JavaMailAutoConfigurationTests.oghamAloneShouldUseOghamProperties(oghamspringbootv1autoconfigure.it.OghamSpringBoot1JavaMailAutoConfigurationTests)
replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → KILLED

2.2
Location : getImplementations
Killed by : none
replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → SURVIVED

3.3
Location : getImplementations
Killed by : none
replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → NO_COVERAGE

4.4
Location : getImplementations
Killed by : none
replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → TIMED_OUT

5.5
Location : getImplementations
Killed by : oghamsmsglobal.it.SmsglobalServiceProviderConfigurerSpec
replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → KILLED

6.6
Location : getImplementations
Killed by : oghamall.it.configuration.SendGridConfigurationTest.asDeveloperIDefineApiKeyUsingProperties(oghamall.it.configuration.SendGridConfigurationTest)
replaced return value with Collections.emptyList for fr/sii/ogham/core/sender/MultiImplementationSender::getImplementations → KILLED

102

1.1
Location : supportsMessageType
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : supportsMessageType
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
negated conditional → KILLED

3.3
Location : supportsMessageType
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
negated conditional → KILLED

4.4
Location : supportsMessageType
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
negated conditional → KILLED

5.5
Location : supportsMessageType
Killed by : none
negated conditional → TIMED_OUT

6.6
Location : supportsMessageType
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
negated conditional → KILLED

104

1.1
Location : supportsMessageType
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → NO_COVERAGE

106

1.1
Location : supportsMessageType
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

2.2
Location : supportsMessageType
Killed by : none
replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → TIMED_OUT

3.3
Location : supportsMessageType
Killed by : none
replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → NO_COVERAGE

4.4
Location : supportsMessageType
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

5.5
Location : supportsMessageType
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

6.6
Location : supportsMessageType
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
replaced boolean return with false for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

7.7
Location : supportsMessageType
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → NO_COVERAGE

8.8
Location : supportsMessageType
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → TIMED_OUT

9.9
Location : supportsMessageType
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → SURVIVED

10.10
Location : supportsMessageType
Killed by : oghamcore.it.core.sender.AutoRetryTest.smsSentSuccessfullyOnFirstExecution(oghamcore.it.core.sender.AutoRetryTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

11.11
Location : supportsMessageType
Killed by : oghamall.it.freemarker.StaticMethodAccessTest.smsUsingFreemarkerTemplateShouldBeAbleToCallStaticMethods(oghamall.it.freemarker.StaticMethodAccessTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

12.12
Location : supportsMessageType
Killed by : oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest.smsUsingThymeleafTemplateShouldResolveBeansAndUrls(oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest)
replaced boolean return with true for fr/sii/ogham/core/sender/MultiImplementationSender::supportsMessageType → KILLED

112

1.1
Location : getManagedClass
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
negated conditional → KILLED

2.2
Location : getManagedClass
Killed by : none
negated conditional → TIMED_OUT

3.3
Location : getManagedClass
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
negated conditional → KILLED

4.4
Location : getManagedClass
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
negated conditional → KILLED

5.5
Location : getManagedClass
Killed by : oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest.smsUsingThymeleafTemplateShouldResolveBeansAndUrls(oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest)
negated conditional → KILLED

6.6
Location : getManagedClass
Killed by : none
negated conditional → NO_COVERAGE

7.7
Location : getManagedClass
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
negated conditional → KILLED

113

1.1
Location : getManagedClass
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED

2.2
Location : getManagedClass
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED

3.3
Location : getManagedClass
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → NO_COVERAGE

4.4
Location : getManagedClass
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED

5.5
Location : getManagedClass
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → TIMED_OUT

6.6
Location : getManagedClass
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getManagedClass → KILLED

119

1.1
Location : getSender
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
negated conditional → KILLED

2.2
Location : getSender
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
negated conditional → KILLED

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

4.4
Location : getSender
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
negated conditional → KILLED

5.5
Location : getSender
Killed by : none
negated conditional → TIMED_OUT

6.6
Location : getSender
Killed by : oghamcore.it.core.sender.AutoRetryTest.smsSentSuccessfullyOnFirstExecution(oghamcore.it.core.sender.AutoRetryTest)
negated conditional → KILLED

122

1.1
Location : getSender
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
negated conditional → KILLED

2.2
Location : getSender
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : getSender
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.noHostDefinedShouldFail(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
negated conditional → KILLED

4.4
Location : getSender
Killed by : none
negated conditional → TIMED_OUT

5.5
Location : getSender
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
negated conditional → KILLED

6.6
Location : getSender
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
negated conditional → KILLED

124

1.1
Location : getSender
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED

2.2
Location : getSender
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED

3.3
Location : getSender
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED

4.4
Location : getSender
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED

5.5
Location : getSender
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → TIMED_OUT

6.6
Location : getSender
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → NO_COVERAGE

7.7
Location : getSender
Killed by : oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest.smsUsingThymeleafTemplateShouldResolveBeansAndUrls(oghamspringbootv1autoconfigure.it.SpringWebBeanResolutionTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender::getSender → KILLED

143

1.1
Location : getCondition
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED

2.2
Location : getCondition
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED

3.3
Location : getCondition
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.noHostDefinedShouldFail(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED

4.4
Location : getCondition
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → TIMED_OUT

5.5
Location : getCondition
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → KILLED

6.6
Location : getCondition
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getCondition → NO_COVERAGE

147

1.1
Location : getSender
Killed by : oghamcore.it.core.service.CleanupTest.manualCleanupShouldAutomaticallyCleanTheSenders(oghamcore.it.core.service.CleanupTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED

2.2
Location : getSender
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED

3.3
Location : getSender
Killed by : oghamsmsglobal.it.SmsglobalServiceProviderConfigurerSpec
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED

4.4
Location : getSender
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → TIMED_OUT

5.5
Location : getSender
Killed by : oghamjavamail.it.builder.JavaMailCustomConfigurationTest.oghamPropertyShouldOverride(oghamjavamail.it.builder.JavaMailCustomConfigurationTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED

6.6
Location : getSender
Killed by : none
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → NO_COVERAGE

7.7
Location : getSender
Killed by : oghamcloudhopper.it.AutoRetryExtensionTest.smsNotRetriedDueToCloudhopperError(oghamcloudhopper.it.AutoRetryExtensionTest)
replaced return value with null for fr/sii/ogham/core/sender/MultiImplementationSender$Implementation::getSender → KILLED

Active mutators

Tests examined


Report generated by PIT OGHAM