This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 2d81a9a141d02e3d9317c1f0d3247484aa4a3cbc
Merge: 81da13df55 1f998c3171
Author: Stephen Mallette <[email protected]>
AuthorDate: Tue Dec 2 09:42:11 2025 -0500

    Merge branch '3.8-dev'

 CHANGELOG.asciidoc                                     |  1 +
 .../process/traversal/step/map/AddEdgeStep.java        |  4 ++--
 gremlin-go/driver/cucumber/gremlin.go                  |  1 +
 .../gremlin-javascript/test/cucumber/gremlin.js        |  1 +
 gremlin-python/docker-compose.yml                      |  1 +
 gremlin-python/src/main/python/examples/connections.py |  4 ++--
 .../src/main/python/examples/modern_traversals.py      |  4 ++--
 gremlin-python/src/main/python/radish/gremlin.py       |  1 +
 .../gremlin/test/features/map/AddEdge.feature          | 18 ++++++++++++++++--
 9 files changed, 27 insertions(+), 8 deletions(-)

diff --cc gremlin-python/docker-compose.yml
index a1baa4809b,380799b35d..ec618935c2
--- a/gremlin-python/docker-compose.yml
+++ b/gremlin-python/docker-compose.yml
@@@ -47,24 -50,30 +47,25 @@@ services
      volumes:
        - ${BUILD_DIR:-./src/main/python}:/python_app
        - 
../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features:/python_app/gremlin-test/features
 +      - 
../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary:/python_app/gremlin-test/graphbinary
 +      - 
../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson:/python_app/gremlin-test/graphson
        - ../docker/gremlin-test-server:/python_app/gremlin-test-server
 -      - 
../gremlin-tools/gremlin-socket-server/conf:/python_app/gremlin-socket-server/conf/
 -
      environment:
        - DEBIAN_FRONTEND=noninteractive
 -      - KRB5_CONFIG=./gremlin-test-server/krb5.conf
 -      - KRB5CCNAME=./test-tkt.cc
 -      - GREMLIN_SERVER_URL=ws://gremlin-server-test-python:{}/gremlin
 -      - 
GREMLIN_SERVER_BASIC_AUTH_URL=wss://gremlin-server-test-python:{}/gremlin
 -      - GREMLIN_SERVER_URL_HTTP=http://gremlin-server-test-python:{}/
 -      - 
GREMLIN_SERVER_BASIC_AUTH_URL_HTTP=https://gremlin-server-test-python:{}/
 -      - KRB_HOSTNAME=${KRB_HOSTNAME:-gremlin-server-test}
 -      - GREMLIN_SOCKET_SERVER_URL=ws://gremlin-socket-server-python:{}/gremlin
 -      - 
GREMLIN_SOCKET_SERVER_CONFIG_PATH=/python_app/gremlin-socket-server/conf/test-ws-gremlin.yaml
 +      - GREMLIN_SERVER_URL=http://gremlin-server-test-python:{}/gremlin
 +      - 
GREMLIN_SERVER_BASIC_AUTH_URL=https://gremlin-server-test-python:{}/gremlin
 +      - IO_TEST_DIRECTORY=/python_app/gremlin-test/graphbinary/
 +      - IO_TEST_DIRECTORY_GRAPHSON=/python_app/gremlin-test/graphson/
      working_dir: /python_app
      command: >
 -      bash -c "apt-get update && apt-get -y install libkrb5-dev krb5-user
 -      && echo 'password' | kinit stephen
 -      && klist
 -      && pip install .[test,kerberos]
 +      bash -c "pip install .[test,kerberos]
        && pytest
 -      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.gremlin-v3.0+json'
 -      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v1.0'
 +      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v4.0' 
--user-data='bulked=true'
 +      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v4.0' 
--user-data='parameterize=true'
 +      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.graphbinary-v4.0'
 +      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.gremlin-v4.0+json' 
--user-data='parameterize=true'
 +      && radish -f dots -e -t -b ./radish ./gremlin-test 
--user-data='serializer=application/vnd.gremlin-v4.0+json'
+       && pip install .
        && echo 'Running examples...'
        && python3 examples/basic_gremlin.py
        && python3 examples/connections.py
diff --cc gremlin-python/src/main/python/examples/connections.py
index f396a8d797,d4e36d4943..3183bfda6d
--- a/gremlin-python/src/main/python/examples/connections.py
+++ b/gremlin-python/src/main/python/examples/connections.py
@@@ -58,19 -61,36 +58,19 @@@ def with_remote()
  
  # connecting with plain text authentication
  def with_auth():
 -    # if there is a port placeholder in the env var then we are running with 
docker so set appropriate port 
 -    server_url = os.getenv('GREMLIN_SERVER_BASIC_AUTH_URL', 
'ws://localhost:8182/gremlin').format(45941)
 -    
 +    # if there is a port placeholder in the env var then we are running with 
docker so set appropriate port
 +    server_url = os.getenv('GREMLIN_SERVER_BASIC_AUTH_URL', 
'http://localhost:8182/gremlin').format(45941)
-     
++
      # disable SSL certificate verification for CI environments
      if ':45941' in server_url:
          ssl_opts = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
          ssl_opts.check_hostname = False
          ssl_opts.verify_mode = ssl.CERT_NONE
 -        rc = DriverRemoteConnection(server_url, 'g', username='stephen', 
password='password',
 -                                    transport_factory=lambda: 
AiohttpTransport(ssl_options=ssl_opts))
 +        rc = DriverRemoteConnection(server_url, 'g', auth=basic('stephen', 
'password'),
 +                                    transport_factory=lambda: 
AiohttpHTTPTransport(ssl_options=ssl_opts))
      else:
 -        rc = DriverRemoteConnection(server_url, 'g', username='stephen', 
password='password')
 -    
 -    g = traversal().with_remote(rc)
 -
 -    v = g.add_v(VERTEX_LABEL).iterate()
 -    count = g.V().has_label(VERTEX_LABEL).count().next()
 -    print("Vertex count: " + str(count))
 -
 -    rc.close()
 +        rc = DriverRemoteConnection(server_url, 'g', auth=basic('stephen', 
'password'))
-     
+ 
 -
 -# connecting with Kerberos SASL authentication
 -def with_kerberos():
 -    # if there is a port placeholder in the env var then we are running with 
docker so set appropriate port 
 -    server_url = os.getenv('GREMLIN_SERVER_URL', 
'ws://localhost:8182/gremlin').format(45942)
 -    kerberos_hostname = os.getenv('KRB_HOSTNAME', socket.gethostname())
 -    kerberized_service = f'test-service@{kerberos_hostname}'
 -    
 -    rc = DriverRemoteConnection(server_url, 'g', 
kerberized_service=kerberized_service)
      g = traversal().with_remote(rc)
  
      v = g.add_v(VERTEX_LABEL).iterate()
diff --cc gremlin-python/src/main/python/examples/modern_traversals.py
index 9feb66d775,bbab62d110..3397ed2a67
--- a/gremlin-python/src/main/python/examples/modern_traversals.py
+++ b/gremlin-python/src/main/python/examples/modern_traversals.py
@@@ -32,15 -32,15 +32,15 @@@ def main()
      # This example requires the Modern toy graph to be preloaded upon 
launching the Gremlin server.
      # For details, see 
https://tinkerpop.apache.org/docs/current/reference/#gremlin-server-docker-image
 and use
      # conf/gremlin-server-modern.yaml.
 -    # if there is a port placeholder in the env var then we are running with 
docker so set appropriate port 
 -    server_url = os.getenv('GREMLIN_SERVER_URL', 
'ws://localhost:8182/gremlin').format(45940)
 -    
 +    # if there is a port placeholder in the env var then we are running with 
docker so set appropriate port
 +    server_url = os.getenv('GREMLIN_SERVER_URL', 
'http://localhost:8182/gremlin').format(45940)
-     
++
      # CI uses port 45940 with gmodern binding, local uses 8182 with g binding
      if ':45940' in server_url:
          graph_binding = 'gmodern'  # CI environment
      else:
          graph_binding = 'g'        # Local environment
--    
++
      rc = DriverRemoteConnection(server_url, graph_binding)
      g = traversal().with_remote(rc)
  

Reply via email to