use of org.neo4j.values.virtual.MapValueBuilder in project neo4j by neo4j.
the class AbstractCypherAdapterStreamTest method mapValues.
private MapValue mapValues(Object... values) {
int i = 0;
MapValueBuilder builder = new MapValueBuilder();
while (i < values.length) {
builder.add((String) values[i++], (AnyValue) values[i++]);
}
return builder.build();
}
use of org.neo4j.values.virtual.MapValueBuilder in project neo4j by neo4j.
the class AbstractCypherAdapterStreamTest method metadataOf.
private MapValue metadataOf(AbstractCypherAdapterStream stream) throws Throwable {
final MapValueBuilder meta = new MapValueBuilder();
stream.handleRecords(new BoltResult.DiscardingRecordConsumer() {
@Override
public void addMetadata(String key, AnyValue value) {
meta.add(key, value);
}
}, STREAM_LIMIT_UNLIMITED);
return meta.build();
}
use of org.neo4j.values.virtual.MapValueBuilder in project neo4j by neo4j.
the class SingleInstanceGetRoutingTableProcedureTest method shouldThrowWhenHostCtxIsInvalid.
@ParameterizedTest
@EnumSource(value = RoutingMode.class)
void shouldThrowWhenHostCtxIsInvalid(RoutingMode routingMode) {
// given
var ctxContents = new MapValueBuilder();
ctxContents.add(ADDRESS_CONTEXT_KEY, Values.stringValue("not a socket address"));
var ctx = ctxContents.build();
var config = newConfig(Config.defaults(SERVER_DEFAULTS), Duration.ofSeconds(100), new SocketAddress("neo4j.com", 7687));
config.set(routing_default_router, routingMode);
var portRegister = mock(ConnectorPortRegister.class);
var databaseManager = databaseManagerMock(config, true);
var logProvider = new AssertableLogProvider();
var procedure = newProcedure(databaseManager, portRegister, config, logProvider);
var expectedMessage = "An address key is included in the query string provided to the GetRoutingTableProcedure, but its value could not be parsed.";
// when/then
assertThrows(ProcedureException.class, () -> invoke(procedure, ID, ctx), expectedMessage);
}
use of org.neo4j.values.virtual.MapValueBuilder in project neo4j by neo4j.
the class SingleInstanceGetRoutingTableProcedureTest method shouldThrowIfClientProvidedPortIsNotANumber.
@ParameterizedTest
@EnumSource(value = RoutingMode.class)
void shouldThrowIfClientProvidedPortIsNotANumber(RoutingMode routingMode) {
// given
var advertisedBoldPort = 8776;
var clientProvidedPort = "bolt";
var advertisedBoltAddress = new SocketAddress("neo4j.com", advertisedBoldPort);
var clientProvidedHostPortStr = String.format("%s:%s", "my.neo4j-service.com", clientProvidedPort);
var ctxContents = new MapValueBuilder();
ctxContents.add(ADDRESS_CONTEXT_KEY, Values.stringValue(clientProvidedHostPortStr));
var ctx = ctxContents.build();
var portRegister = mock(ConnectorPortRegister.class);
when(portRegister.getLocalAddress(BoltConnector.NAME)).thenReturn(new HostnamePort("neo4j.com", advertisedBoldPort));
var config = newConfig(Config.defaults(SERVER_DEFAULTS), Duration.ofSeconds(100), advertisedBoltAddress);
config.set(routing_default_router, routingMode);
var databaseManager = databaseManagerMock(config, true);
var logProvider = new AssertableLogProvider();
var procedure = newProcedure(databaseManager, portRegister, config, logProvider);
var expectedMessage = "An address key is included in the query string provided to the GetRoutingTableProcedure, but its value could not be parsed.";
// when
assertThrows(ProcedureException.class, () -> invoke(procedure, ID, ctx), expectedMessage);
}
use of org.neo4j.values.virtual.MapValueBuilder in project neo4j by neo4j.
the class AbstractCypherAdapterStream method queryStats.
private MapValue queryStats(QueryStatistics queryStatistics) {
MapValueBuilder builder = new MapValueBuilder();
addIfNonZero(builder, "nodes-created", queryStatistics.getNodesCreated());
addIfNonZero(builder, "nodes-deleted", queryStatistics.getNodesDeleted());
addIfNonZero(builder, "relationships-created", queryStatistics.getRelationshipsCreated());
addIfNonZero(builder, "relationships-deleted", queryStatistics.getRelationshipsDeleted());
addIfNonZero(builder, "properties-set", queryStatistics.getPropertiesSet());
addIfNonZero(builder, "labels-added", queryStatistics.getLabelsAdded());
addIfNonZero(builder, "labels-removed", queryStatistics.getLabelsRemoved());
addIfNonZero(builder, "indexes-added", queryStatistics.getIndexesAdded());
addIfNonZero(builder, "indexes-removed", queryStatistics.getIndexesRemoved());
addIfNonZero(builder, "constraints-added", queryStatistics.getConstraintsAdded());
addIfNonZero(builder, "constraints-removed", queryStatistics.getConstraintsRemoved());
return builder.build();
}
Aggregations