Search in sources :

Example 11 with RoutingContext

use of org.neo4j.bolt.v41.messaging.RoutingContext in project neo4j by neo4j.

the class HelloMessageDecoderTest method testShouldDecodeRoutingContext.

@Test
void testShouldDecodeRoutingContext() throws Exception {
    Map<String, Object> meta = new HashMap<>();
    Map<String, Object> authToken;
    Map<String, String> parameterMap = new HashMap<>();
    RoutingContext routingContext = new RoutingContext(true, parameterMap);
    parameterMap.put("policy", "fast");
    parameterMap.put("region", "eu-west");
    Neo4jPack neo4jPack = newNeo4jPack();
    meta.put("user_agent", "My Driver");
    meta.put("routing", parameterMap);
    authToken = new HashMap<>(Map.copyOf(meta));
    authToken.remove("routing");
    HelloMessage originalMessage = new HelloMessage(meta, routingContext, authToken);
    PackedInputArray input = new PackedInputArray(encode(neo4jPack, originalMessage));
    Neo4jPack.Unpacker unpacker = neo4jPack.newUnpacker(input);
    // these two steps are executed before decoding in order to select a correct decoder
    unpacker.unpackStructHeader();
    unpacker.unpackStructSignature();
    RequestMessage deserializedMessage = decoder.decode(unpacker);
    assertHelloMessageMatches(originalMessage, deserializedMessage);
    assertRoutingContextMatches(originalMessage, deserializedMessage);
}
Also used : RoutingContext(org.neo4j.bolt.v41.messaging.RoutingContext) HelloMessage(org.neo4j.bolt.v41.messaging.request.HelloMessage) HashMap(java.util.HashMap) RequestMessage(org.neo4j.bolt.messaging.RequestMessage) PackedInputArray(org.neo4j.bolt.packstream.PackedInputArray) Neo4jPack(org.neo4j.bolt.packstream.Neo4jPack) BoltProtocolV3ComponentFactory.newNeo4jPack(org.neo4j.bolt.v3.BoltProtocolV3ComponentFactory.newNeo4jPack) AuthTokenDecoderTest(org.neo4j.bolt.security.auth.AuthTokenDecoderTest) Test(org.junit.jupiter.api.Test)

Example 12 with RoutingContext

use of org.neo4j.bolt.v41.messaging.RoutingContext in project neo4j by neo4j.

the class HelloMessageDecoderTest method shouldDecodeHelloMessage.

@Test
void shouldDecodeHelloMessage() throws Exception {
    HelloMessage originalMessage = new HelloMessage(map("user_agent", "My Driver", "user", "neo4j", "password", "secret", "routing", Collections.emptyMap()), new RoutingContext(true, Collections.emptyMap()), map("user_agent", "My Driver", "user", "neo4j", "password", "secret"));
    assertOriginalMessageEqualsToDecoded(originalMessage, decoder);
}
Also used : RoutingContext(org.neo4j.bolt.v41.messaging.RoutingContext) HelloMessage(org.neo4j.bolt.v41.messaging.request.HelloMessage) AuthTokenDecoderTest(org.neo4j.bolt.security.auth.AuthTokenDecoderTest) Test(org.junit.jupiter.api.Test)

Example 13 with RoutingContext

use of org.neo4j.bolt.v41.messaging.RoutingContext in project neo4j by neo4j.

the class HelloMessageDecoderTest method shouldDecodeHelloMessageWithRouting.

@Test
void shouldDecodeHelloMessageWithRouting() throws Exception {
    HelloMessage originalMessage = new HelloMessage(map("user_agent", "My Driver", "user", "neo4j", "password", "secret", "routing", map("policy", "europe")), new RoutingContext(true, stringMap("policy", "europe")), map("user_agent", "My Driver", "user", "neo4j", "password", "secret"));
    assertOriginalMessageEqualsToDecoded(originalMessage, decoder);
}
Also used : RoutingContext(org.neo4j.bolt.v41.messaging.RoutingContext) HelloMessage(org.neo4j.bolt.v41.messaging.request.HelloMessage) AuthTokenDecoderTest(org.neo4j.bolt.security.auth.AuthTokenDecoderTest) Test(org.junit.jupiter.api.Test)

Aggregations

RoutingContext (org.neo4j.bolt.v41.messaging.RoutingContext)12 HelloMessage (org.neo4j.bolt.v41.messaging.request.HelloMessage)9 Test (org.junit.jupiter.api.Test)7 AuthTokenDecoderTest (org.neo4j.bolt.security.auth.AuthTokenDecoderTest)6 Neo4jPack (org.neo4j.bolt.packstream.Neo4jPack)5 PackedInputArray (org.neo4j.bolt.packstream.PackedInputArray)5 BoltProtocolV3ComponentFactory.newNeo4jPack (org.neo4j.bolt.v3.BoltProtocolV3ComponentFactory.newNeo4jPack)5 HashMap (java.util.HashMap)4 RequestMessage (org.neo4j.bolt.messaging.RequestMessage)4 BoltIOException (org.neo4j.bolt.messaging.BoltIOException)1 AccessMode (org.neo4j.bolt.runtime.AccessMode)1 HelloMessage (org.neo4j.bolt.v3.messaging.request.HelloMessage)1 UseEvaluation (org.neo4j.fabric.eval.UseEvaluation)1 StatementLifecycle (org.neo4j.fabric.executor.FabricStatementLifecycles.StatementLifecycle)1 FabricPlan (org.neo4j.fabric.planning.FabricPlan)1 FabricPlanner (org.neo4j.fabric.planning.FabricPlanner)1 Fragment (org.neo4j.fabric.planning.Fragment)1 FabricTransactionInfo (org.neo4j.fabric.transaction.FabricTransactionInfo)1