|
@@ -368,15 +368,15 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
assertNotNull(state.metadata().componentTemplates().get("foo"));
|
|
|
|
|
|
ComposableIndexTemplate firstGlobalIndexTemplate =
|
|
|
- new ComposableIndexTemplate(List.of("*"), template, List.of("foo"), 1L, null, null, null);
|
|
|
+ new ComposableIndexTemplate(List.of("*"), template, List.of("foo"), 1L, null, null, null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, true, "globalindextemplate1", firstGlobalIndexTemplate);
|
|
|
|
|
|
ComposableIndexTemplate secondGlobalIndexTemplate =
|
|
|
- new ComposableIndexTemplate(List.of("*"), template, List.of("foo"), 2L, null, null, null);
|
|
|
+ new ComposableIndexTemplate(List.of("*"), template, List.of("foo"), 2L, null, null, null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, true, "globalindextemplate2", secondGlobalIndexTemplate);
|
|
|
|
|
|
ComposableIndexTemplate fooPatternIndexTemplate =
|
|
|
- new ComposableIndexTemplate(List.of("foo-*"), template, List.of("foo"), 3L, null, null, null);
|
|
|
+ new ComposableIndexTemplate(List.of("foo-*"), template, List.of("foo"), 3L, null, null, null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, true, "foopatternindextemplate", fooPatternIndexTemplate);
|
|
|
|
|
|
// update the component template to set the index.hidden setting
|
|
@@ -428,7 +428,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
List<String> patterns = new ArrayList<>(template.indexPatterns());
|
|
|
patterns.add("new-pattern");
|
|
|
template = new ComposableIndexTemplate(patterns, template.template(), template.composedOf(), template.priority(),
|
|
|
- template.version(), template.metadata(), null);
|
|
|
+ template.version(), template.metadata(), null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, false, "foo", template);
|
|
|
|
|
|
assertNotNull(state.metadata().templatesV2().get("foo"));
|
|
@@ -466,7 +466,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
.build();
|
|
|
|
|
|
ComposableIndexTemplate v2Template = new ComposableIndexTemplate(Arrays.asList("foo-bar-*", "eggplant"),
|
|
|
- null, null, null, null, null, null);
|
|
|
+ null, null, null, null, null, null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, false, "v2-template", v2Template);
|
|
|
|
|
|
assertWarnings("index template [v2-template] has index patterns [foo-bar-*, eggplant] matching patterns " +
|
|
@@ -503,7 +503,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
waitToCreateComponentTemplate.await(10, TimeUnit.SECONDS);
|
|
|
|
|
|
ComposableIndexTemplate globalIndexTemplate = new ComposableIndexTemplate(List.of("*"),
|
|
|
- null, List.of("ct-with-index-hidden-setting"), null, null, null, null);
|
|
|
+ null, List.of("ct-with-index-hidden-setting"), null, null, null, null, null);
|
|
|
|
|
|
expectThrows(InvalidIndexTemplateException.class, () ->
|
|
|
metadataIndexTemplateService.putIndexTemplateV2("testing", true, "template-referencing-ct-with-hidden-index-setting",
|
|
@@ -528,7 +528,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
public void testPuttingV1StarTemplateGeneratesWarning() throws Exception {
|
|
|
final MetadataIndexTemplateService metadataIndexTemplateService = getMetadataIndexTemplateService();
|
|
|
ComposableIndexTemplate v2Template = new ComposableIndexTemplate(Arrays.asList("foo-bar-*", "eggplant"),
|
|
|
- null, null, null, null, null, null);
|
|
|
+ null, null, null, null, null, null, null);
|
|
|
ClusterState state = metadataIndexTemplateService.addIndexTemplateV2(ClusterState.EMPTY_STATE, false, "v2-template", v2Template);
|
|
|
|
|
|
MetadataIndexTemplateService.PutRequest req = new MetadataIndexTemplateService.PutRequest("cause", "v1-template");
|
|
@@ -549,7 +549,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
public void testPuttingV1NonStarTemplateGeneratesError() throws Exception {
|
|
|
final MetadataIndexTemplateService metadataIndexTemplateService = getMetadataIndexTemplateService();
|
|
|
ComposableIndexTemplate v2Template = new ComposableIndexTemplate(Arrays.asList("foo-bar-*", "eggplant"),
|
|
|
- null, null, null, null, null, null);
|
|
|
+ null, null, null, null, null, null, null);
|
|
|
ClusterState state = metadataIndexTemplateService.addIndexTemplateV2(ClusterState.EMPTY_STATE, false, "v2-template", v2Template);
|
|
|
|
|
|
MetadataIndexTemplateService.PutRequest req = new MetadataIndexTemplateService.PutRequest("cause", "v1-template");
|
|
@@ -583,7 +583,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
.build();
|
|
|
|
|
|
ComposableIndexTemplate v2Template = new ComposableIndexTemplate(Arrays.asList("foo-bar-*", "eggplant"),
|
|
|
- null, null, null, null, null, null);
|
|
|
+ null, null, null, null, null, null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, false, "v2-template", v2Template);
|
|
|
|
|
|
assertWarnings("index template [v2-template] has index patterns [foo-bar-*, eggplant] matching patterns " +
|
|
@@ -624,7 +624,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
.build();
|
|
|
|
|
|
ComposableIndexTemplate v2Template = new ComposableIndexTemplate(Arrays.asList("foo-bar-*", "eggplant"),
|
|
|
- null, null, null, null, null, null);
|
|
|
+ null, null, null, null, null, null, null);
|
|
|
state = metadataIndexTemplateService.addIndexTemplateV2(state, false, "v2-template", v2Template);
|
|
|
|
|
|
assertWarnings("index template [v2-template] has index patterns [foo-bar-*, eggplant] matching patterns " +
|
|
@@ -650,11 +650,11 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
public void testPuttingOverlappingV2Template() throws Exception {
|
|
|
{
|
|
|
ComposableIndexTemplate template = new ComposableIndexTemplate(Arrays.asList("egg*", "baz"),
|
|
|
- null, null, 1L, null, null, null);
|
|
|
+ null, null, 1L, null, null, null, null);
|
|
|
MetadataIndexTemplateService metadataIndexTemplateService = getMetadataIndexTemplateService();
|
|
|
ClusterState state = metadataIndexTemplateService.addIndexTemplateV2(ClusterState.EMPTY_STATE, false, "foo", template);
|
|
|
ComposableIndexTemplate newTemplate = new ComposableIndexTemplate(Arrays.asList("abc", "baz*"),
|
|
|
- null, null, 1L, null, null, null);
|
|
|
+ null, null, 1L, null, null, null, null);
|
|
|
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
|
|
|
() -> metadataIndexTemplateService.addIndexTemplateV2(state, false, "foo2", newTemplate));
|
|
|
assertThat(e.getMessage(), equalTo("index template [foo2] has index patterns [abc, baz*] matching patterns from existing " +
|
|
@@ -664,11 +664,11 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
|
|
|
{
|
|
|
ComposableIndexTemplate template = new ComposableIndexTemplate(Arrays.asList("egg*", "baz"),
|
|
|
- null, null, null, null, null, null);
|
|
|
+ null, null, null, null, null, null, null);
|
|
|
MetadataIndexTemplateService metadataIndexTemplateService = getMetadataIndexTemplateService();
|
|
|
ClusterState state = metadataIndexTemplateService.addIndexTemplateV2(ClusterState.EMPTY_STATE, false, "foo", template);
|
|
|
ComposableIndexTemplate newTemplate = new ComposableIndexTemplate(Arrays.asList("abc", "baz*"),
|
|
|
- null, null, 0L, null, null, null);
|
|
|
+ null, null, 0L, null, null, null, null);
|
|
|
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
|
|
|
() -> metadataIndexTemplateService.addIndexTemplateV2(state, false, "foo2", newTemplate));
|
|
|
assertThat(e.getMessage(), equalTo("index template [foo2] has index patterns [abc, baz*] matching patterns from existing " +
|
|
@@ -684,9 +684,9 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
|
|
|
ComponentTemplate ct = ComponentTemplateTests.randomInstance();
|
|
|
state = service.addComponentTemplate(state, true, "ct", ct);
|
|
|
- ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("i*"), null, List.of("ct"), null, 1L, null, null);
|
|
|
+ ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("i*"), null, List.of("ct"), null, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template", it);
|
|
|
- ComposableIndexTemplate it2 = new ComposableIndexTemplate(List.of("in*"), null, List.of("ct"), 10L, 2L, null, null);
|
|
|
+ ComposableIndexTemplate it2 = new ComposableIndexTemplate(List.of("in*"), null, List.of("ct"), 10L, 2L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template2", it2);
|
|
|
|
|
|
String result = MetadataIndexTemplateService.findV2Template(state.metadata(), "index", randomBoolean());
|
|
@@ -701,9 +701,9 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
|
|
|
ComponentTemplate ct = ComponentTemplateTests.randomInstance();
|
|
|
state = service.addComponentTemplate(state, true, "ct", ct);
|
|
|
- ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("i*"), null, List.of("ct"), 0L, 1L, null, null);
|
|
|
+ ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("i*"), null, List.of("ct"), 0L, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template", it);
|
|
|
- ComposableIndexTemplate it2 = new ComposableIndexTemplate(List.of("*"), null, List.of("ct"), 10L, 2L, null, null);
|
|
|
+ ComposableIndexTemplate it2 = new ComposableIndexTemplate(List.of("*"), null, List.of("ct"), 10L, 2L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template2", it2);
|
|
|
|
|
|
String result = MetadataIndexTemplateService.findV2Template(state.metadata(), "index", true);
|
|
@@ -716,7 +716,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
try {
|
|
|
// add an invalid global template that specifies the `index.hidden` setting
|
|
|
ComposableIndexTemplate invalidGlobalTemplate = new ComposableIndexTemplate(List.of("*"),
|
|
|
- templateWithHiddenSetting, List.of("ct"), 5L, 1L, null, null);
|
|
|
+ templateWithHiddenSetting, List.of("ct"), 5L, 1L, null, null, null);
|
|
|
Metadata invalidGlobalTemplateMetadata = Metadata.builder().putCustom(ComposableIndexTemplateMetadata.TYPE,
|
|
|
new ComposableIndexTemplateMetadata(Map.of("invalid_global_template", invalidGlobalTemplate))).build();
|
|
|
|
|
@@ -760,7 +760,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
" }\n" +
|
|
|
" }\n" +
|
|
|
" }"), null),
|
|
|
- List.of("ct_low", "ct_high"), 0L, 1L, null, null);
|
|
|
+ List.of("ct_low", "ct_high"), 0L, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template", it);
|
|
|
|
|
|
List<CompressedXContent> mappings = MetadataIndexTemplateService.collectMappings(state, "my-template", "my-index",
|
|
@@ -824,7 +824,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
" }\n" +
|
|
|
" }\n" +
|
|
|
" }"), null),
|
|
|
- List.of("ct_low", "ct_high"), 0L, 1L, null, null);
|
|
|
+ List.of("ct_low", "ct_high"), 0L, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template", it);
|
|
|
|
|
|
List<CompressedXContent> mappings = MetadataIndexTemplateService.collectMappings(state, "my-template", "my-index",
|
|
@@ -876,7 +876,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
" }\n" +
|
|
|
" }\n" +
|
|
|
" }"), null),
|
|
|
- List.of("ct1"), 0L, 1L, null, new ComposableIndexTemplate.DataStreamTemplate());
|
|
|
+ List.of("ct1"), 0L, 1L, null, new ComposableIndexTemplate.DataStreamTemplate(), null);
|
|
|
state = service.addIndexTemplateV2(state, true, "logs-data-stream-template", it);
|
|
|
|
|
|
List<CompressedXContent> mappings = MetadataIndexTemplateService.collectMappings(state, "logs-data-stream-template",
|
|
@@ -915,7 +915,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
" }\n" +
|
|
|
" }\n" +
|
|
|
" }"), null),
|
|
|
- List.of("ct1"), 0L, 1L, null, null);
|
|
|
+ List.of("ct1"), 0L, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "timeseries-template", it);
|
|
|
|
|
|
List<CompressedXContent> mappings = MetadataIndexTemplateService.collectMappings(state, "timeseries-template", "timeseries",
|
|
@@ -983,7 +983,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
|
|
|
state = service.addComponentTemplate(state, true, "ct1", ct1);
|
|
|
ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("logs*"), null, List.of("ct1"), 0L, 1L, null,
|
|
|
- new ComposableIndexTemplate.DataStreamTemplate());
|
|
|
+ new ComposableIndexTemplate.DataStreamTemplate(), null);
|
|
|
state = service.addIndexTemplateV2(state, true, "logs-template", it);
|
|
|
|
|
|
List<CompressedXContent> mappings = MetadataIndexTemplateService.collectMappings(state, "logs-template",
|
|
@@ -1018,7 +1018,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
" }\n" +
|
|
|
" }"), null);
|
|
|
ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("timeseries*"), template, null, 0L, 1L, null,
|
|
|
- new ComposableIndexTemplate.DataStreamTemplate());
|
|
|
+ new ComposableIndexTemplate.DataStreamTemplate(), null);
|
|
|
state = service.addIndexTemplateV2(state, true, "timeseries-template", it);
|
|
|
|
|
|
List<CompressedXContent> mappings = MetadataIndexTemplateService.collectMappings(state, "timeseries-template",
|
|
@@ -1065,7 +1065,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
.put("index.blocks.write", false)
|
|
|
.put("index.number_of_shards", 3)
|
|
|
.build(), null, null),
|
|
|
- List.of("ct_low", "ct_high"), 0L, 1L, null, null);
|
|
|
+ List.of("ct_low", "ct_high"), 0L, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template", it);
|
|
|
|
|
|
Settings settings = MetadataIndexTemplateService.resolveSettings(state.metadata(), "my-template");
|
|
@@ -1093,7 +1093,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
state = service.addComponentTemplate(state, true, "ct_low", ct2);
|
|
|
ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("i*"),
|
|
|
new Template(null, null, a3),
|
|
|
- List.of("ct_low", "ct_high"), 0L, 1L, null, null);
|
|
|
+ List.of("ct_low", "ct_high"), 0L, 1L, null, null, null);
|
|
|
state = service.addIndexTemplateV2(state, true, "my-template", it);
|
|
|
|
|
|
List<Map<String, AliasMetadata>> resolvedAliases = MetadataIndexTemplateService.resolveAliases(state.metadata(), "my-template");
|
|
@@ -1209,7 +1209,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
" }\n" +
|
|
|
" }\n" +
|
|
|
" }"), null),
|
|
|
- randomBoolean() ? Arrays.asList("c1", "c2") : Arrays.asList("c2", "c1"), 0L, 1L, null, null);
|
|
|
+ randomBoolean() ? Arrays.asList("c1", "c2") : Arrays.asList("c2", "c1"), 0L, 1L, null, null, null);
|
|
|
|
|
|
final ClusterState finalState = state;
|
|
|
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
|
|
@@ -1260,7 +1260,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
state = service.addComponentTemplate(state, true, "c2", ct2);
|
|
|
ComposableIndexTemplate it = new ComposableIndexTemplate(List.of("i*"),
|
|
|
new Template(null, null, null),
|
|
|
- randomBoolean() ? Arrays.asList("c1", "c2") : Arrays.asList("c2", "c1"), 0L, 1L, null, null);
|
|
|
+ randomBoolean() ? Arrays.asList("c1", "c2") : Arrays.asList("c2", "c1"), 0L, 1L, null, null, null);
|
|
|
|
|
|
// Great, the templates aren't invalid
|
|
|
state = service.addIndexTemplateV2(state, randomBoolean(), "my-template", it);
|
|
@@ -1332,7 +1332,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
.build();
|
|
|
|
|
|
ComposableIndexTemplate template = new ComposableIndexTemplate(Collections.singletonList("logs-*-*"),
|
|
|
- null, null, 100L, null, null, new ComposableIndexTemplate.DataStreamTemplate());
|
|
|
+ null, null, 100L, null, null, new ComposableIndexTemplate.DataStreamTemplate(), null);
|
|
|
|
|
|
state = service.addIndexTemplateV2(state, false, "logs", template);
|
|
|
|
|
@@ -1354,7 +1354,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
// Test replacing it with a version without the data stream config
|
|
|
IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> {
|
|
|
ComposableIndexTemplate nonDSTemplate = new ComposableIndexTemplate(Collections.singletonList("logs-*-*"), null, null,
|
|
|
- 100L, null, null, null);
|
|
|
+ 100L, null, null, null, null);
|
|
|
service.addIndexTemplateV2(stateWithDS, false, "logs", nonDSTemplate);
|
|
|
});
|
|
|
|
|
@@ -1365,7 +1365,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
// Test adding a higher priority version that would cause problems
|
|
|
e = expectThrows(IllegalArgumentException.class, () -> {
|
|
|
ComposableIndexTemplate nonDSTemplate = new ComposableIndexTemplate(Collections.singletonList("logs-my*-*"), null, null,
|
|
|
- 105L, null, null, null);
|
|
|
+ 105L, null, null, null, null);
|
|
|
service.addIndexTemplateV2(stateWithDS, false, "logs2", nonDSTemplate);
|
|
|
});
|
|
|
|
|
@@ -1376,7 +1376,7 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
// Change the pattern to one that doesn't match the data stream
|
|
|
e = expectThrows(IllegalArgumentException.class, () -> {
|
|
|
ComposableIndexTemplate newTemplate = new ComposableIndexTemplate(Collections.singletonList("logs-postgres-*"), null,
|
|
|
- null, 100L, null, null, new ComposableIndexTemplate.DataStreamTemplate());
|
|
|
+ null, 100L, null, null, new ComposableIndexTemplate.DataStreamTemplate(), null);
|
|
|
service.addIndexTemplateV2(stateWithDS, false, "logs", newTemplate);
|
|
|
});
|
|
|
|
|
@@ -1386,12 +1386,12 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
|
|
|
// Add an additional template that matches our data stream at a lower priority
|
|
|
ComposableIndexTemplate mysqlTemplate = new ComposableIndexTemplate(Collections.singletonList("logs-mysql-*"), null,
|
|
|
- null, 50L, null, null, new ComposableIndexTemplate.DataStreamTemplate());
|
|
|
+ null, 50L, null, null, new ComposableIndexTemplate.DataStreamTemplate(), null);
|
|
|
ClusterState stateWithDSAndTemplate = service.addIndexTemplateV2(stateWithDS, false, "logs-mysql", mysqlTemplate);
|
|
|
|
|
|
// We should be able to replace the "logs" template, because we have the "logs-mysql" template that can handle the data stream
|
|
|
ComposableIndexTemplate nonDSTemplate = new ComposableIndexTemplate(Collections.singletonList("logs-postgres-*"), null, null,
|
|
|
- 100L, null, null, null);
|
|
|
+ 100L, null, null, null, null);
|
|
|
service.addIndexTemplateV2(stateWithDSAndTemplate, false, "logs", nonDSTemplate);
|
|
|
}
|
|
|
|
|
@@ -1475,9 +1475,9 @@ public class MetadataIndexTemplateServiceTests extends ESSingleNodeTestCase {
|
|
|
@SuppressWarnings("unchecked")
|
|
|
public static void assertTemplatesEqual(ComposableIndexTemplate actual, ComposableIndexTemplate expected) {
|
|
|
ComposableIndexTemplate actualNoTemplate = new ComposableIndexTemplate(actual.indexPatterns(), null,
|
|
|
- actual.composedOf(), actual.priority(), actual.version(), actual.metadata(), actual.getDataStreamTemplate());
|
|
|
+ actual.composedOf(), actual.priority(), actual.version(), actual.metadata(), actual.getDataStreamTemplate(), null);
|
|
|
ComposableIndexTemplate expectedNoTemplate = new ComposableIndexTemplate(expected.indexPatterns(), null,
|
|
|
- expected.composedOf(), expected.priority(), expected.version(), expected.metadata(), expected.getDataStreamTemplate());
|
|
|
+ expected.composedOf(), expected.priority(), expected.version(), expected.metadata(), expected.getDataStreamTemplate(), null);
|
|
|
|
|
|
assertThat(actualNoTemplate, equalTo(expectedNoTemplate));
|
|
|
Template actualTemplate = actual.template();
|