This is an automated email from the ASF dual-hosted git repository. colegreer pushed a commit to branch graph-binary-4-JS-HTTP in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 687b39179acc9cb5992ee587dc7dff11b66e476e Author: Kirill Stepanishin <[email protected]> AuthorDate: Mon Mar 9 10:25:16 2026 -0700 JS GLV test infrastructure fixes --- .../src/main/javascript/gremlin-javascript/docker-compose.yml | 10 ++++------ .../gremlin-javascript/lib/process/traversal-strategy.ts | 2 +- .../lib/structure/io/binary/internals/ArraySerializer.js | 4 ++-- .../lib/structure/io/binary/internals/EnumSerializer.js | 5 ++++- .../lib/structure/io/binary/internals/GraphBinaryReader.js | 5 ++--- .../lib/structure/io/binary/internals/SetSerializer.js | 6 +++--- .../src/main/javascript/gremlin-javascript/package.json | 2 +- .../src/main/javascript/gremlin-javascript/test/helper.js | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/docker-compose.yml b/gremlin-javascript/src/main/javascript/gremlin-javascript/docker-compose.yml index 46f9c9e8e2..81e786bf77 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/docker-compose.yml +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/docker-compose.yml @@ -35,7 +35,7 @@ services: - ${HOME}/.m2:/root/.m2 - ${ABS_PROJECT_HOME}/gremlin-test/target:/opt/gremlin-test healthcheck: - test: [ "CMD-SHELL", "apk add curl && curl -f http://localhost:45940?gremlin=100-1" ] + test: [ "CMD-SHELL", "apk add curl && curl -X POST -d '{\"gremlin\":\"100-1\"}' http://localhost:45940" ] interval: 30s timeout: 10s retries: 30 @@ -47,6 +47,7 @@ services: volumes: - .:/js_app - ../../../../../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features:/gremlin-test + - ../../../../../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary:/js_app/gremlin-test/graphbinary - ../../../../../docker/gremlin-test-server:/js_app/gremlin-test-server - ../../../../../gremlin-tools/gremlin-socket-server/conf:/js_app/gremlin-socket-server/conf/ - ../../../..:/gremlin-javascript @@ -54,6 +55,7 @@ services: - DOCKER_ENVIRONMENT=true - GREMLIN_SERVER_URL=ws://gremlin-server-test-js:45940/gremlin - VERTEX_LABEL=javascript-example + - IO_TEST_DIRECTORY=/js_app/gremlin-test/graphbinary/ working_dir: /js_app command: > bash -c "npm config set cache /tmp --global @@ -69,8 +71,4 @@ services: gremlin-server-test-js: condition: service_healthy - gremlin-socket-server: - container_name: gremlin-socket-server-js - image: tinkerpop/gremlin-socket-server:${GREMLIN_SERVER} - ports: - - "45943:45943" + diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal-strategy.ts b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal-strategy.ts index 729a6f6525..139c07f345 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal-strategy.ts +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal-strategy.ts @@ -21,7 +21,7 @@ * @author Jorge Bay Gondra */ -import { RemoteConnection } from '../driver/remote-connection.js'; +import type { RemoteConnection } from '../driver/remote-connection.js'; import { Traversal } from './traversal.js'; export class TraversalStrategies { diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ArraySerializer.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ArraySerializer.js index 758575f342..5aaae1dcfe 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ArraySerializer.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ArraySerializer.js @@ -127,7 +127,7 @@ export default class ArraySerializer { throw err; } cursor = cursor.slice(value_len); - + if (isBulked) { if (cursor.length < 8) { throw new Error(`{item_${i}}: bulk count is missing`); @@ -135,7 +135,7 @@ export default class ArraySerializer { const bulkCount = cursor.readBigInt64BE(); len += 8; cursor = cursor.slice(8); - + for (let j = 0n; j < bulkCount; j++) { v.push(value); } diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/EnumSerializer.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/EnumSerializer.js index 76f72234e5..f8c27dfd56 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/EnumSerializer.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/EnumSerializer.js @@ -48,7 +48,10 @@ export default class EnumSerializer { } canBeUsedFor(value) { - return value instanceof EnumValue && (value.typeName === 'Direction' || value.typeName === 'Merge' || value.typeName === 'T'); + return ( + value instanceof EnumValue && + (value.typeName === 'Direction' || value.typeName === 'Merge' || value.typeName === 'T') + ); } serialize(item, fullyQualifiedFormat = true) { diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/GraphBinaryReader.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/GraphBinaryReader.js index 004fb8befc..001c4a19fa 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/GraphBinaryReader.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/GraphBinaryReader.js @@ -75,9 +75,8 @@ export default class GraphBinaryReader { cursor = cursor.slice(3); // {status_code} is an Int bare - let code; - ({ v: code, len } = this.ioc.intSerializer.deserialize(cursor, false)); - cursor = cursor.slice(len); + const { v: code, len: codeLen } = this.ioc.intSerializer.deserialize(cursor, false); + cursor = cursor.slice(codeLen); // {status_message} is nullable let message = null; diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/SetSerializer.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/SetSerializer.js index 623b5ebd11..0b7f5f275b 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/SetSerializer.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/SetSerializer.js @@ -124,15 +124,15 @@ export default class SetSerializer { throw err; } cursor = cursor.slice(valueLen); - + if (isBulked) { if (cursor.length < 8) { throw new Error(`{item_${i}}: bulk count is missing`); } - const bulkCount = cursor.readBigInt64BE(); + cursor.readBigInt64BE(); len += 8; cursor = cursor.slice(8); - + // Set.add is idempotent; bulk count only affects cardinality, not Set membership v.add(value); } else { diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json index 58f6e052de..72f6eab5b7 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json @@ -67,7 +67,7 @@ "build": "rm -rf build && duel --dirs", "prepare": "npm run build", "test": "npm run unit-test && npm run integration-test", - "unit-test": "cross-env TS_NODE_PROJECT='tsconfig.test.json' mocha test/unit/*", + "unit-test": "cross-env TS_NODE_PROJECT='tsconfig.test.json' mocha 'test/unit/**/*-test.{js,ts}'", "integration-test": "npm run integration-test-graphson30 && npm run integration-test-graphbinary", "integration-test-graphson30": "cross-env TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.gremlin-v3.0+json' ./node_modules/mocha/bin/mocha.js test/integration -t 5000", "integration-test-graphbinary": "cross-env TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.graphbinary-v4.0' ./node_modules/mocha/bin/mocha.js test/integration -t 5000", diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/helper.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/helper.js index fa5b3a3b5d..09026dddc1 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/helper.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/helper.js @@ -39,7 +39,7 @@ if (process.env.DOCKER_ENVIRONMENT === 'true') { socketServerUrl = 'http://gremlin-socket-server-js:'; sockerServerConfigPath = '/js_app/gremlin-socket-server/conf/test-ws-gremlin.yaml'; } else { - serverUrl = 'http://localhost:8182/gremlin'; + serverUrl = 'http://localhost:45940/gremlin'; serverAuthUrl = 'https://localhost:45941/gremlin'; socketServerUrl = 'http://localhost:'; sockerServerConfigPath = '../../../../../gremlin-tools/gremlin-socket-server/conf/test-ws-gremlin.yaml';
