use of uk.gov.gchq.gaffer.graph.Graph in project Gaffer by gchq.
the class FederatedStoreUtilTest method shouldUpdateOperationChainAndReturnNullIfNestedOperationViewHasNoGroups.
@Test
public void shouldUpdateOperationChainAndReturnNullIfNestedOperationViewHasNoGroups() {
// Given
final Graph graph = createGraph();
final OperationChain<?> operation = new OperationChain.Builder().first(new GetElements.Builder().view(new View.Builder().edge(TestGroups.EDGE_2, new ViewElementDefinition()).entity(TestGroups.ENTITY_2, new ViewElementDefinition()).build()).build()).build();
// When
final OperationChain<?> updatedOp = FederatedStoreUtil.updateOperationForGraph(operation, graph);
// Then
assertNull(updatedOp);
}
use of uk.gov.gchq.gaffer.graph.Graph in project Gaffer by gchq.
the class FederatedStoreUtilTest method shouldUpdateAddElementsFlagsWhenNullInputAndValidateFalse.
@Test
public void shouldUpdateAddElementsFlagsWhenNullInputAndValidateFalse() {
// Given
final Graph graph = createGraph();
final AddElements operation = new AddElements.Builder().validate(false).skipInvalidElements(true).build();
// When
final AddElements updatedOp = FederatedStoreUtil.updateOperationForGraph(operation, graph);
// Then
assertNotSame(operation, updatedOp);
assertNull(updatedOp.getInput());
assertTrue(updatedOp.isValidate());
assertTrue(updatedOp.isSkipInvalidElements());
}
use of uk.gov.gchq.gaffer.graph.Graph in project Gaffer by gchq.
the class FederatedStoreUtilTest method shouldUpdateNestedOperations.
@Test
public void shouldUpdateNestedOperations() {
// Given
final Graph graph = createGraph();
final HashMap<String, String> options = new HashMap<>();
options.put("key", "value");
final HashMap<String, String> options2 = new HashMap<>();
options2.put("key", "value");
final GetElements operation = new GetElements.Builder().view(new View.Builder().edge(TestGroups.EDGE, new ViewElementDefinition()).edge(TestGroups.EDGE_2, new ViewElementDefinition()).entity(TestGroups.ENTITY, new ViewElementDefinition()).entity(TestGroups.ENTITY_2, new ViewElementDefinition()).build()).options(options2).build();
final OperationChain opChain = new OperationChain.Builder().first(operation).options(options).build();
// When
final OperationChain<?> updatedOpChain = FederatedStoreUtil.updateOperationForGraph(opChain, graph);
// Then
assertNotSame(opChain, updatedOpChain);
assertEquals(options, updatedOpChain.getOptions());
assertEquals(1, updatedOpChain.getOperations().size());
final GetElements updatedOperation = (GetElements) updatedOpChain.getOperations().get(0);
assertNotSame(operation, updatedOperation);
assertEquals(options2, updatedOperation.getOptions());
assertNotSame(operation.getView(), updatedOperation.getView());
assertEquals(Sets.newHashSet(TestGroups.ENTITY), updatedOperation.getView().getEntityGroups());
assertEquals(Sets.newHashSet(TestGroups.EDGE), updatedOperation.getView().getEdgeGroups());
assertSame(operation.getView().getEntity(TestGroups.ENTITY), updatedOperation.getView().getEntity(TestGroups.ENTITY));
assertSame(operation.getView().getEdge(TestGroups.EDGE), updatedOperation.getView().getEdge(TestGroups.EDGE));
}
use of uk.gov.gchq.gaffer.graph.Graph in project Gaffer by gchq.
the class FederatedStoreUtilTest method shouldUpdateOperationView.
@Test
public void shouldUpdateOperationView() {
// Given
final Graph graph = createGraph();
final GetElements operation = new GetElements.Builder().view(new View.Builder().edge(TestGroups.EDGE, new ViewElementDefinition()).edge(TestGroups.EDGE_2, new ViewElementDefinition()).entity(TestGroups.ENTITY, new ViewElementDefinition()).entity(TestGroups.ENTITY_2, new ViewElementDefinition()).build()).build();
// When
final GetElements updatedOp = FederatedStoreUtil.updateOperationForGraph(operation, graph);
// Then
assertNotSame(operation, updatedOp);
assertNotSame(operation.getView(), updatedOp.getView());
assertEquals(Sets.newHashSet(TestGroups.ENTITY), updatedOp.getView().getEntityGroups());
assertEquals(Sets.newHashSet(TestGroups.EDGE), updatedOp.getView().getEdgeGroups());
assertSame(operation.getView().getEntity(TestGroups.ENTITY), updatedOp.getView().getEntity(TestGroups.ENTITY));
assertSame(operation.getView().getEdge(TestGroups.EDGE), updatedOp.getView().getEdge(TestGroups.EDGE));
}
use of uk.gov.gchq.gaffer.graph.Graph in project Gaffer by gchq.
the class FederatedStoreUtilTest method shouldNotUpdateAddElementsFlagsWhenNotRequired.
@Test
public void shouldNotUpdateAddElementsFlagsWhenNotRequired() {
// Given
final Graph graph = createGraph();
final AddElements operation = new AddElements.Builder().validate(true).skipInvalidElements(true).build();
// When
final AddElements updatedOp = FederatedStoreUtil.updateOperationForGraph(operation, graph);
// Then
assertEquals(operation, updatedOp);
assertNull(updatedOp.getInput());
}
Aggregations