This is an automated email from the ASF dual-hosted git repository. xiazcy pushed a commit to branch dotnet-http in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 0b23c155ad501abe45cd6538e5254e26d1153ce2 Author: Yang Xia <[email protected]> AuthorDate: Mon Mar 23 15:10:19 2026 -0700 Update CHANGELOG and Gherkin tests --- CHANGELOG.asciidoc | 4 ++++ .../test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 76b6cfd1a0..c06db091e1 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -37,6 +37,10 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Added `RequestInterceptor` to `gremlin-go` with `auth` reference implementations to replace `authInfo`. * Refactored GraphBinary serializers to use `io.Writer` and `io.Reader` instead of `*bytes.Buffer` for streaming capacities. * Refactored `httpProtocol` and `httpTransport` in `gremlin-go` into single `connection.go` that handles HTTP request and response. +* Replace `Bytecode` with `GremlinLang` in `gremlin-dotnet`. +* Replace `WebSocket` with `HTTP` (non-streaming) in `gremlin-dotnet`. +* Added `MimeType` to `IMessageSerializer` and split client option to allow separate request and response serialization in `gremlin-dotnet`. +* Added `RequestInterceptor` to `gremlin-dotnet` with `auth` reference implementations. * Bumped ANTLR to 4.13.2 * Bumped SLF4j to 2.0.16. * Bumped GMavenPlus to 4.1.1. diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs index b26f532982..926a3d8097 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs @@ -9,7 +9,7 @@ * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an @@ -1369,7 +1369,10 @@ namespace Gremlin.Net.IntegrationTest.Gherkin {"g_withSideEffectXlabel_knows_out_marko_in_vadasX_injectX1X_selectXmX_mergeE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.Inject<object>(1).Select<object>("m").MergeE(), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas")}}, {"g_mergeEXlabel_knows_in_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictionary<object [...] {"g_mergeEXlabel_knows_out_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictionary<objec [...] - {"g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictionary<object, object>) [...] + {"g_mergeEXlabel_knows_out_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.Merge [...] + {"g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated_error", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictionary<object, obj [...] + {"g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictiona [...] + {"g_withSideEffect_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated_dynamic_override_sketchily_allowed", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b").Property("created", "Y").AddE((string) "knows").From("b").To("a").Property("created", "Y" [...] {"g_V_hasXperson_name_marko_X_mergeEXlabel_self_out_vadas1_in_vadas1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.V().Has("person", "name", "marko").MergeE((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E().HasLabel("self").BothV().Has("name", "vadas")}}, {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b").AddE((string) "knows").From("a").To("b"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.O [...] {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").As("a").AddV((string) "person").Property("name", "vadas").As("b"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("c")).Op [...] @@ -1384,9 +1387,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin {"g_mergeE_with_eid_specified_and_inheritance_1", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E("201"), (g,p) =>g.V().Has("name", "marko").Out("knows").Has("name", "vadas")}}, {"g_mergeE_with_eid_specified_and_inheritance_2", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E("201"), (g,p) =>g.V().Has("name", "marko").Out("knows").Has("name", "vadas")}}, {"g_mergeE_outV_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"])}}, + {"g_withSideEffect_withSideEffect_mergeE_outV_dynamic_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("sideEffect1"))}}, {"g_mergeE_inV_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"])}}, + {"g_withSideEffect_mergeE_inV_dynamic_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("sideEffect1"))}}, {"g_mergeE_label_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"])}}, + {"g_mergeE_label_dynamic_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("sideEffect1"))}}, {"g_mergeE_id_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"])}}, + {"g_withSideEffect_mergeE_id_dynamic_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("sideEffect1"))}}, {"g_mergeV_mergeE_combination_new_vertices", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).As("outV").MergeV((IDictionary<object, object>) p["xx2"]).As("inV").MergeE((IDictionary<object, object>) p["xx3"]).Option(Merge.OutV, (ITraversal) __.Select<object>("outV")).Option(Merge.InV, (ITraversal) __.Select<object>("inV")), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.V().Has("name", "marko") [...] {"g_mergeV_mergeE_combination_existing_vertices", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").AddV((string) "person").Property("name", "vadas"), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).As("outV").MergeV((IDictionary<object, object>) p["xx2"]).As("inV").MergeE((IDictionary<object, object>) p["xx3"]).Option(Merge.OutV, (ITraversal) __.Select<object>("outV")).Option [...] {"g_V_asXvX_mergeEXxx1X_optionXMerge_onMatch_xx2X_optionXMerge_outV_selectXvXX_optionXMerge_inV_selectXvXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 29), (g,p) =>g.V().As("v").MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnMatch, (IDictionary<object, object>) p["xx2"]).Option(Merge.OutV, (ITraversal) __.Select<object>("v")).Option(Merge.InV, (IT [...] @@ -1436,6 +1443,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin {"g_mergeV_onCreate_inheritance_new_1", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.V("1").Has("person", "name", "mike")}}, {"g_mergeV_onCreate_inheritance_new_2", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.V("1").Has("person", "name", "mike")}}, {"g_mergeV_label_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"])}}, + {"g_withSideEffect_mergeV_label_dynamic_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("sideEffect1"))}}, {"g_mergeV_id_override_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"])}}, {"g_mergeV_hidden_id_key_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"])}}, {"g_mergeV_hidden_label_key_prohibited", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"])}},
