You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds test for the handshake manifest, additionally moves tests on bolt 4.1 to bolt 4.2, as drivers are dropping 4.1 from the handshake.
Co-authored-by: MaxAake <[email protected]>
Co-authored-by: Dmitriy Tverdiakov <[email protected]>
Copy file name to clipboardExpand all lines: boltstub/README.md
+16-1Lines changed: 16 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,17 @@ The following options are available:
24
24
Furthermore, with `!: AUTO GOODBYE`, the driver can reach the end of the script at any point which greatly decreases the usefulness of asserting a full script playthrough (i.e. successful Stubserver shutdown). Instead, use auto lines (see further down).
25
25
*`!: BOLT ${BOLT VERSION}`**(required)**
26
26
Configure the Bolt version the server is speaking.
27
-
E.g., `!: BOLT 4.0` or `!: BOLT 4`
27
+
E.g., `!: BOLT 4.0` or `!: BOLT 4`
28
+
The bolt maximum handshake version (non-manifest, manifest vX) is chosen automatically based on the specified Bolt version.
29
+
Previous versions might also be accepted mirroring the behavior of the Neo4j server.
30
+
For Bolt handshake version 2 (requires Bolt version 5.7+), feature flags can be specified following the protocol version.
31
+
They're to be specified in raw hex bytes and must be a valid varint encoded integer.
32
+
The server expects the client to opt into all feature flags offered.
33
+
E.g., `!: BOLT 5.7 FF 01` (sending feature flags 1 through 7 and 14)
34
+
*`!: HANDSHAKE_MANIFEST ${MANIFEST VERSION}`
35
+
E.g., `!: HANDSHAKE_MANIFEST 1`
36
+
Force the bolt version to be negotiated using the specified manifest version.
37
+
`0` indicates non-manifest negotiation.
28
38
*`!: ALLOW RESTART`
29
39
By default, the server shuts itself down as soon as the end of the script is reached or the client sends an unexpected message.
30
40
If this bang line is part of the head, the server will allow a new connection every time the script has successfully been played through until the end with the previous connection.
@@ -39,6 +49,11 @@ The following options are available:
39
49
By default the server automatically performs a handshake (incl. protocol version negotiation) with the client upon connection (https://7687.org/bolt/bolt-protocol-handshake-specification.html).
40
50
This bang line allows for overwriting the response of the server that normally contains the protocol version which the server wants to speak with the client.
41
51
E.g. `!: HANDSHAKE FF 00 00 01`
52
+
*`!: HANDSHAKE_RESPONSE ${HEX BYTES}`
53
+
This field requires `!: HANDSKE ${HEX BYTES}` to be present.
54
+
It's main purpose is to facilitate Bolt handshake v2 overwrites.
55
+
The data (`${HEX BYTES}`) will be expected to be received from the client after the server has sent the handshake data specified in `!: HANDSHAKE ${HEX BYTES}`.
56
+
E.g. `!: HANDSHAKE 00 00 01 FF 00 00 00 07 05 00` and `!: HANDSHAKE_RESPONSE 00 00 07 05`
42
57
*`!: HANDSHAKE_DELAY ${DELAY_IN_S}`
43
58
Wait for `${DELAY_IN_S}` (can be int or float) seconds before sending the handshake response.
0 commit comments