From a0dcee397b7f1a4575369e515f3f4e0c88212e52 Mon Sep 17 00:00:00 2001 From: t92549 <80890692+t92549@users.noreply.github.com> Date: Mon, 27 Nov 2023 11:27:17 +0000 Subject: [PATCH] Gh-3114: Add test for FederatedStoreSchemaOverlapTest different serialiser (#3115) --- .../FederatedStoreSchemaOverlapTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/store-implementation/federated-store/src/test/java/uk/gov/gchq/gaffer/federatedstore/FederatedStoreSchemaOverlapTest.java b/store-implementation/federated-store/src/test/java/uk/gov/gchq/gaffer/federatedstore/FederatedStoreSchemaOverlapTest.java index 7d8c84ea764..766011e5bd0 100644 --- a/store-implementation/federated-store/src/test/java/uk/gov/gchq/gaffer/federatedstore/FederatedStoreSchemaOverlapTest.java +++ b/store-implementation/federated-store/src/test/java/uk/gov/gchq/gaffer/federatedstore/FederatedStoreSchemaOverlapTest.java @@ -25,6 +25,7 @@ import uk.gov.gchq.gaffer.serialisation.implementation.MultiSerialiser; import uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser; import uk.gov.gchq.gaffer.serialisation.implementation.ordered.OrderedIntegerSerialiser; +import uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser; import uk.gov.gchq.gaffer.store.Context; import uk.gov.gchq.gaffer.store.TestTypes; import uk.gov.gchq.gaffer.store.operation.GetSchema; @@ -318,6 +319,30 @@ public void shouldRetainGroupGroupByWhenConflictingSchemasMerge() throws Operati .isNotEqualTo(graphBSchema.toString()); } + @Test + public void shouldErrorAtTypeDefinitionSerialiserWhenConflictingDuringSchemasMerge() throws OperationException { + // Given + addGraphWith(GRAPH_ID_A, GRAPH_A_SCHEMA); + final Schema graphBSchema = new Schema.Builder() + .merge(GRAPH_A_SCHEMA) + .type(INTEGER, new TypeDefinition.Builder() + .clazz(Integer.class) + .serialiser(new CompactRawIntegerSerialiser()) + .aggregateFunction(new Sum()) + .validateFunctions(new IsLessThan(10)) + .build()) + .build(); + addGraphWith(GRAPH_ID_B, graphBSchema); + + // When + assertThatException() + .isThrownBy(() -> federatedStore.execute(new GetSchema.Builder().build(), testContext)) + .withStackTraceContaining("Error with the schema type named:integer") + .withStackTraceContaining("Unable to merge schemas because of conflict with the type serialiser") + .withStackTraceContaining("options are: uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser") + .withStackTraceContaining("and uk.gov.gchq.gaffer.serialisation.implementation.ordered.OrderedIntegerSerialiser"); + } + @Test public void shouldErrorAtTypeDefinitionAggregationFunctionWhenConflictingDuringSchemasMerge() throws OperationException { // Given