ThymeleafParserAssertions.java

1
package fr.sii.ogham.testing.assertion.internal;
2
3
import static fr.sii.ogham.testing.assertion.util.AssertionHelper.assertThat;
4
5
import java.util.Set;
6
import java.util.stream.Collectors;
7
8
import org.apache.commons.lang3.reflect.FieldUtils;
9
import org.hamcrest.Matcher;
10
import org.thymeleaf.TemplateEngine;
11
12
import fr.sii.ogham.core.resource.resolver.ResourceResolver;
13
import fr.sii.ogham.template.thymeleaf.common.ThymeleafParser;
14
import fr.sii.ogham.testing.util.HasParent;
15
16
/**
17
 * Helper class to make assertions on {@link ThymeleafParser} instance created
18
 * by Ogham.
19
 * 
20
 * @author Aurélien Baudet
21
 *
22
 */
23
public class ThymeleafParserAssertions extends HasParent<ThymeleafAssertions> {
24
	private final Set<ThymeleafParser> parsers;
25
26
	public ThymeleafParserAssertions(ThymeleafAssertions parent, Set<ThymeleafParser> parsers) {
27
		super(parent);
28
		this.parsers = parsers;
29
	}
30
31
	/**
32
	 * Ensures that {@link TemplateEngine} is configured as expected.
33
	 * 
34
	 * @param matcher
35
	 *            the matcher to ensure that engine is configured as expected.
36
	 * @return this instance for fluent chaining
37
	 */
38
	public ThymeleafParserAssertions engine(Matcher<? super TemplateEngine> matcher) {
39
		for (ThymeleafParser thymeleafParser : parsers) {
40 2 1. engine : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → NO_COVERAGE
2. engine : removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → TIMED_OUT
			assertThat(getEngine(thymeleafParser), matcher);
41
		}
42 2 1. engine : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::engine → NO_COVERAGE
2. engine : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::engine → TIMED_OUT
		return this;
43
	}
44
45
	/**
46
	 * Make assertions on resource resolution.
47
	 * 
48
	 * <pre>
49
	 * {@code
50
	 * resourceResolver()
51
	 *   .classpath()
52
	 *     .pathPrefix(is("prefix/")
53
	 * }
54
	 * </pre>
55
	 * 
56
	 * @return builder for fluent chaining
57
	 */
58
	public ResourceResolverAssertions<ThymeleafParserAssertions> resourceResolver() {
59 2 1. resourceResolver : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::resourceResolver → NO_COVERAGE
2. resourceResolver : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::resourceResolver → KILLED
		return new ResourceResolverAssertions<>(this, getResourceResolvers());
60
	}
61
62
	private Set<ResourceResolver> getResourceResolvers() {
63 2 1. getResourceResolvers : replaced return value with Collections.emptyList for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolvers → NO_COVERAGE
2. getResourceResolvers : replaced return value with Collections.emptyList for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolvers → SURVIVED
		return parsers.stream()
64
				.map(ThymeleafParserAssertions::getResourceResolver)
65
				.collect(Collectors.toSet());
66
	}
67
68
	private static TemplateEngine getEngine(ThymeleafParser parser) {
69
		try {
70 3 1. getEngine : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getEngine → NO_COVERAGE
2. getEngine : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getEngine → TIMED_OUT
3. getEngine : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getEngine → KILLED
			return (TemplateEngine) FieldUtils.readField(parser, "engine", true);
71
		} catch (IllegalAccessException e) {
72
			throw new IllegalStateException("Failed to get 'engine' field of ThymeleafParser", e);
73
		}
74
	}
75
76
	private static ResourceResolver getResourceResolver(ThymeleafParser parser) {
77
		try {
78 2 1. getResourceResolver : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolver → NO_COVERAGE
2. getResourceResolver : replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolver → KILLED
			return (ResourceResolver) FieldUtils.readField(parser, "resolver", true);
79
		} catch (IllegalAccessException e) {
80
			throw new IllegalStateException("Failed to get 'resolver' field of ThymeleafParser", e);
81
		}
82
	}
83
}

Mutations

40

1.1
Location : engine
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → NO_COVERAGE

2.2
Location : engine
Killed by : none
removed call to fr/sii/ogham/testing/assertion/util/AssertionHelper::assertThat → TIMED_OUT

42

1.1
Location : engine
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::engine → NO_COVERAGE

2.2
Location : engine
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::engine → TIMED_OUT

59

1.1
Location : resourceResolver
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::resourceResolver → NO_COVERAGE

2.2
Location : resourceResolver
Killed by : oghamall.it.configuration.ThymeleafConfigurationTest.asDeveloperIDefineCustomPathPrefixInMyOwnCode(oghamall.it.configuration.ThymeleafConfigurationTest)
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::resourceResolver → KILLED

63

1.1
Location : getResourceResolvers
Killed by : none
replaced return value with Collections.emptyList for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolvers → NO_COVERAGE

2.2
Location : getResourceResolvers
Killed by : none
replaced return value with Collections.emptyList for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolvers → SURVIVED

70

1.1
Location : getEngine
Killed by : oghamspringbootv2autoconfigure.it.OghamSpringBoot2ThymeleafAutoConfigurationTests.useCustomThymeleafBean(oghamspringbootv2autoconfigure.it.OghamSpringBoot2ThymeleafAutoConfigurationTests)
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getEngine → KILLED

2.2
Location : getEngine
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getEngine → TIMED_OUT

3.3
Location : getEngine
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getEngine → NO_COVERAGE

78

1.1
Location : getResourceResolver
Killed by : oghamall.it.configuration.ThymeleafConfigurationTest.asDeveloperIDefineCustomPathPrefixInMyOwnCode(oghamall.it.configuration.ThymeleafConfigurationTest)
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolver → KILLED

2.2
Location : getResourceResolver
Killed by : none
replaced return value with null for fr/sii/ogham/testing/assertion/internal/ThymeleafParserAssertions::getResourceResolver → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT OGHAM