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 6fdc12b7ebf1b5586e12224e0886826185e4b462 Author: Kirill Stepanishin <[email protected]> AuthorDate: Wed Mar 4 11:33:17 2026 -0800 Unit test updates for HTTP and GraphBinary --- .../gremlin-javascript/lib/driver/connection.ts | 4 +-- .../javascript/gremlin-javascript/package.json | 6 ++-- .../javascript/gremlin-javascript/test/helper.js | 2 +- .../gremlin-javascript/test/unit/client-test.js | 41 ++++++---------------- 4 files changed, 17 insertions(+), 36 deletions(-) diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.ts b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.ts index 27fb0ade50..59b07469b7 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.ts +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.ts @@ -42,9 +42,9 @@ const responseStatusCode = { authenticationChallenge: 407, }; -const defaultMimeType = 'application/vnd.gremlin-v4.0+json'; +const defaultMimeType = 'application/vnd.graphbinary-v4.0'; const graphSON2MimeType = 'application/vnd.gremlin-v2.0+json'; -const graphBinaryMimeType = 'application/vnd.graphbinary-v1.0'; +const graphBinaryMimeType = 'application/vnd.graphbinary-v4.0'; type MimeType = typeof defaultMimeType | typeof graphSON2MimeType | typeof graphBinaryMimeType; diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json index dad0edc45b..58f6e052de 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json @@ -70,14 +70,14 @@ "unit-test": "cross-env TS_NODE_PROJECT='tsconfig.test.json' mocha test/unit/*", "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-v1.0' ./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", "TODO": "# test other mime types like graphbinary stringd", "features": "npm run features-graphson30 && npm run features-graphbinary", "features-graphson30": "cross-env NODE_OPTIONS='--loader ts-node/esm' TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.gremlin-v3.0+json' cucumber-js --tags \"not @DataUUID and not @DataLong\" --import test/cucumber ../../../../../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/", - "features-graphbinary": "cross-env NODE_OPTIONS='--loader ts-node/esm' TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.graphbinary-v1.0' cucumber-js --tags \"not @DataBigDecimal and not @DataBigInt and not @DataUUID and not @DataLong\" --import test/cucumber ../../../../../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/", + "features-graphbinary": "cross-env NODE_OPTIONS='--loader ts-node/esm' TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.graphbinary-v4.0' cucumber-js --tags \"not @DataBigDecimal and not @DataBigInt and not @DataUUID and not @DataLong\" --import test/cucumber ../../../../../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/", "features-docker": "npm run features-graphson30-docker && npm run features-graphbinary-docker", "features-graphson30-docker": "cross-env NODE_OPTIONS='--loader ts-node/esm' TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.gremlin-v3.0+json' cucumber-js --tags \"not @DataUUID and not @DataLong\" --import test/cucumber ../gremlin-test/", - "features-graphbinary-docker": "cross-env NODE_OPTIONS='--loader ts-node/esm' TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.graphbinary-v1.0' cucumber-js --tags \"not @DataBigDecimal and not @DataBigInt and not @DataUUID and not @DataLong\" --import test/cucumber ../gremlin-test/", + "features-graphbinary-docker": "cross-env NODE_OPTIONS='--loader ts-node/esm' TS_NODE_PROJECT='tsconfig.test.json' CLIENT_MIMETYPE='application/vnd.graphbinary-v4.0' cucumber-js --tags \"not @DataBigDecimal and not @DataBigInt and not @DataUUID and not @DataLong\" --import test/cucumber ../gremlin-test/", "lint": "eslint --ext .js ." }, "engines": { 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 27f04b8369..fa5b3a3b5d 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/helper.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/helper.js @@ -83,7 +83,7 @@ function getMimeTypeFromSocketServerSettings(socketServerSettings) { break; case "GraphBinaryV1": default: - mimeType = 'application/vnd.graphbinary-v1.0'; + mimeType = 'application/vnd.graphbinary-v4.0'; break; } return mimeType; diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/client-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/client-test.js index e150208d1a..bdbcf1b65e 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/client-test.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/client-test.js @@ -21,15 +21,14 @@ import assert from 'assert'; import Client from '../../lib/driver/client.js'; describe('Client', function () { - const customOpProcessor = 'customOpProcessor'; const query = 'customQuery'; - it('should use default opProcessor', function () { + it('should submit request with default traversalSource', function () { const connectionMock = { - submit: function (processor, op, args, requestId) { - assert.strictEqual(args.gremlin, query); - assert.strictEqual(processor, ''); - + submit: function (requestMessage) { + assert.strictEqual(requestMessage.getGremlin(), query); + assert.strictEqual(requestMessage.getG(), 'g'); + assert.strictEqual(requestMessage.getLanguage(), 'gremlin-lang'); return Promise.resolve(); } }; @@ -39,41 +38,23 @@ describe('Client', function () { customClient.submit(query) }); - it('should allow to configure opProcessor', function () { + it('should submit request with custom traversalSource', function () { const connectionMock = { - submit: function (processor, op, args, requestId) { - assert.strictEqual(args.gremlin, query); - assert.strictEqual(processor, customOpProcessor); - + submit: function (requestMessage) { + assert.strictEqual(requestMessage.getGremlin(), query); + assert.strictEqual(requestMessage.getG(), 'gCustom'); return Promise.resolve(); } }; - const customClient = new Client('ws://localhost:9321', {traversalSource: 'g', processor: customOpProcessor, connectOnStartup: false}); + const customClient = new Client('ws://localhost:9321', {traversalSource: 'gCustom', connectOnStartup: false}); customClient._connection = connectionMock; customClient.submit(query) }); - it('should allow to submit extra arguments', function () { - const connectionMock = { - submit: function (processor, op, args, requestId) { - assert.strictEqual(args.gremlin, query); - assert.strictEqual(args.evaluationTimeout, 123); - assert.strictEqual(args.materializeProperties, 'tokens'); - assert.strictEqual(processor, customOpProcessor); - - return Promise.resolve(); - } - }; - - const customClient = new Client('ws://localhost:9321', {traversalSource: 'g', processor: customOpProcessor, connectOnStartup: false}); - customClient._connection = connectionMock; - customClient.submit(query, null, {'evaluationTimeout': 123, 'materializeProperties': 'tokens'}) - }); - it('should use default mimeType', function () { const customClient = new Client('ws://localhost:9321', {traversalSource: 'g', connectOnStartup: false}); - assert.strictEqual(customClient._connection.mimeType, 'application/vnd.graphbinary-v1.0') + assert.strictEqual(customClient._connection.mimeType, 'application/vnd.graphbinary-v4.0') }); it('should use given mimeType', function () {
