You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2018/05/21 17:14:58 UTC

[11/22] tinkerpop git commit: TINKERPOP-1968 Simplified gremlin server test configuration

TINKERPOP-1968 Simplified gremlin server test configuration

There was a fair bit of duplicated configuration for Gremlin Server testing - streamlined that to a single gremlin-server-integration.yaml file and script initializer. Tests had to become more specific as to the graphs that they were executing against as a result.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d116ad5c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d116ad5c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d116ad5c

Branch: refs/heads/TINKERPOP-1968
Commit: d116ad5c4e5d7ddf829fa6db4c9566d949db87ef
Parents: 615d6ea
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri May 18 14:38:04 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon May 21 13:14:23 2018 -0400

----------------------------------------------------------------------
 gremlin-dotnet/test/pom.xml                     |  2 +-
 gremlin-javascript/pom.xml                      |  2 +-
 .../test/integration/remote-connection-tests.js |  2 +-
 .../test/integration/traversal-test.js          |  2 +-
 gremlin-python/pom.xml                          |  2 +-
 .../src/main/jython/tests/conftest.py           |  6 +-
 .../src/main/jython/tests/driver/test_client.py | 14 ++---
 .../driver/test_driver_remote_connection.py     |  4 +-
 .../test_driver_remote_connection_threaded.py   |  4 +-
 gremlin-server/scripts/generate-all.groovy      | 63 --------------------
 gremlin-server/src/assembly/standalone.xml      |  3 -
 .../driver/remote/RemoteGraphProvider.java      |  2 +-
 .../server/GremlinResultSetIntegrateTest.java   | 34 +++++------
 .../server/GremlinServerHttpIntegrateTest.java  | 18 ++----
 .../gremlin/server/ServerTestHelper.java        |  7 ++-
 .../server/util/DefaultGraphManagerTest.java    | 32 +++++++---
 .../remote/gremlin-server-integration.yaml      | 56 -----------------
 .../server/gremlin-server-integration.yaml      | 11 +++-
 .../src/test/scripts/generate-all.groovy        | 31 +++++++++-
 .../src/test/scripts/neo4j-empty.properties     | 33 ++++++++++
 20 files changed, 139 insertions(+), 189 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-dotnet/test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml
index db1f8ad..f8d3118 100644
--- a/gremlin-dotnet/test/pom.xml
+++ b/gremlin-dotnet/test/pom.xml
@@ -143,7 +143,7 @@ limitations under the License.
                                         </property>
                                         <property>
                                             <name>settingsFile</name>
-                                            <value>${gremlin.server.dir}/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml</value>
+                                            <value>${gremlin.server.dir}/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml</value>
                                         </property>
                                         <property>
                                             <name>executionName</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-javascript/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index a820f3b..b01b2b9 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -114,7 +114,7 @@ limitations under the License.
                                 </property>
                                 <property>
                                     <name>settingsFile</name>
-                                    <value>${gremlin.server.dir}/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml</value>
+                                    <value>${gremlin.server.dir}/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml</value>
                                 </property>
                                 <property>
                                     <name>executionName</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
index 9e115be..afc0e58 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
@@ -31,7 +31,7 @@ let connection;
 
 describe('DriverRemoteConnection', function () {
   before(function () {
-    connection = helper.getConnection();
+    connection = helper.getConnection('gmodern');
     return connection.open();
   });
   after(function () {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
index 01dde62..920d998 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
@@ -33,7 +33,7 @@ let connection;
 
 describe('Traversal', function () {
   before(function () {
-    connection = helper.getConnection();
+    connection = helper.getConnection('gmodern');
     return connection.open();
   });
   after(function () {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index a2ab516..13c3454 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -507,7 +507,7 @@ limitations under the License.
                                         </property>
                                         <property>
                                             <name>settingsFile</name>
-                                            <value>${gremlin.server.dir}/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml</value>
+                                            <value>${gremlin.server.dir}/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml</value>
                                         </property>
                                         <property>
                                             <name>executionName</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-python/src/main/jython/tests/conftest.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/conftest.py b/gremlin-python/src/main/jython/tests/conftest.py
index 2cd4282..96ded16 100644
--- a/gremlin-python/src/main/jython/tests/conftest.py
+++ b/gremlin-python/src/main/jython/tests/conftest.py
@@ -38,7 +38,7 @@ def connection(request):
     executor = concurrent.futures.ThreadPoolExecutor(5)
     pool = queue.Queue()
     try:
-        conn = Connection('ws://localhost:45940/gremlin', 'g', protocol,
+        conn = Connection('ws://localhost:45940/gremlin', 'gmodern', protocol,
                           lambda: TornadoTransport(), executor, pool)
     except OSError:
         executor.shutdown()
@@ -53,7 +53,7 @@ def connection(request):
 @pytest.fixture
 def client(request):
     try:
-        client = Client('ws://localhost:45940/gremlin', 'g')
+        client = Client('ws://localhost:45940/gremlin', 'gmodern')
     except OSError:
         pytest.skip('Gremlin Server is not running')
     else:
@@ -65,7 +65,7 @@ def client(request):
 @pytest.fixture
 def remote_connection(request):
     try:
-        remote_conn = DriverRemoteConnection('ws://localhost:45940/gremlin', 'g')
+        remote_conn = DriverRemoteConnection('ws://localhost:45940/gremlin', 'gmodern')
     except OSError:
         pytest.skip('Gremlin Server is not running')
     else:

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-python/src/main/jython/tests/driver/test_client.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/driver/test_client.py b/gremlin-python/src/main/jython/tests/driver/test_client.py
index f7b01ce..595aba0 100644
--- a/gremlin-python/src/main/jython/tests/driver/test_client.py
+++ b/gremlin-python/src/main/jython/tests/driver/test_client.py
@@ -28,7 +28,7 @@ __author__ = 'David M. Brown (davebshow@gmail.com)'
 def test_connection(connection):
     g = Graph().traversal()
     t = g.V()
-    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode})
+    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode, 'aliases': {'g': 'gmodern'}})
     results_set = connection.write(message).result()
     future = results_set.all()
     results = future.result()
@@ -51,7 +51,7 @@ def test_client_eval_traversal(client):
 def test_client_bytecode(client):
     g = Graph().traversal()
     t = g.V()
-    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode})
+    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode, 'aliases': {'g': 'gmodern'}})
     result_set = client.submit(message)
     assert len(result_set.all().result()) == 6
 
@@ -59,7 +59,7 @@ def test_client_bytecode(client):
 def test_iterate_result_set(client):
     g = Graph().traversal()
     t = g.V()
-    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode})
+    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode, 'aliases': {'g': 'gmodern'}})
     result_set = client.submit(message)
     results = []
     for result in result_set:
@@ -70,7 +70,7 @@ def test_iterate_result_set(client):
 def test_client_async(client):
     g = Graph().traversal()
     t = g.V()
-    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode})
+    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode, 'aliases': {'g': 'gmodern'}})
     future = client.submitAsync(message)
     result_set = future.result()
     assert len(result_set.all().result()) == 6
@@ -78,10 +78,10 @@ def test_client_async(client):
 
 def test_connection_share(client):
     # Overwrite fixture with pool_size=1 client
-    client = Client('ws://localhost:45940/gremlin', 'g', pool_size=1)
+    client = Client('ws://localhost:45940/gremlin', 'gmodern', pool_size=1)
     g = Graph().traversal()
     t = g.V()
-    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode})
+    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode, 'aliases': {'g': 'gmodern'}})
     future = client.submitAsync(message)
     future2 = client.submitAsync(message)
 
@@ -97,7 +97,7 @@ def test_connection_share(client):
 def test_multi_conn_pool(client):
     g = Graph().traversal()
     t = g.V()
-    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode})
+    message = RequestMessage('traversal', 'bytecode', {'gremlin': t.bytecode, 'aliases': {'g': 'gmodern'}})
     future = client.submitAsync(message)
     future2 = client.submitAsync(message)
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
index 1071493..cd9101e 100644
--- a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
+++ b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
@@ -37,7 +37,7 @@ __author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
 class TestDriverRemoteConnection(object):
     def test_traversals(self, remote_connection):
         statics.load_statics(globals())
-        assert "remoteconnection[ws://localhost:45940/gremlin,g]" == str(remote_connection)
+        assert "remoteconnection[ws://localhost:45940/gremlin,gmodern]" == str(remote_connection)
         g = Graph().traversal().withRemote(remote_connection)
 
         assert long(6) == g.V().count().toList()[0]
@@ -233,7 +233,7 @@ def test_in_tornado_app(remote_connection):
     @gen.coroutine
     def go():
         conn = DriverRemoteConnection(
-            'ws://localhost:45940/gremlin', 'g', pool_size=4)
+            'ws://localhost:45940/gremlin', 'gmodern', pool_size=4)
         g = Graph().traversal().withRemote(conn)
         yield gen.sleep(0)
         assert len(g.V().toList()) == 6

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection_threaded.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection_threaded.py b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection_threaded.py
index dffd442..49db930 100644
--- a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection_threaded.py
+++ b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection_threaded.py
@@ -41,6 +41,7 @@ def test_conns_in_threads(remote_connection):
     child.join()
     child2.join()
 
+
 def test_conn_in_threads(remote_connection):
     q = queue.Queue()
     child = Thread(target=_executor, args=(q, remote_connection))
@@ -53,13 +54,14 @@ def test_conn_in_threads(remote_connection):
     child.join()
     child2.join()
 
+
 def _executor(q, conn):
     close = False
     if not conn:
         # This isn't a fixture so close manually
         close = True
         conn = DriverRemoteConnection(
-            'ws://localhost:45940/gremlin', 'g', pool_size=4)
+            'ws://localhost:45940/gremlin', 'gmodern', pool_size=4)
     try:
         g = Graph().traversal().withRemote(conn)
         future = g.V().promise()

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/scripts/generate-all.groovy
----------------------------------------------------------------------
diff --git a/gremlin-server/scripts/generate-all.groovy b/gremlin-server/scripts/generate-all.groovy
deleted file mode 100644
index 66b1cb4..0000000
--- a/gremlin-server/scripts/generate-all.groovy
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-// an init script that returns a Map allows explicit setting of global bindings.
-def globals = [:]
-
-// Generates the modern graph into an "empty" TinkerGraph via LifeCycleHook.
-// Note that the name of the key in the "global" map is unimportant.
-globals << [hook : [
-  onStartUp: { ctx ->
-    TinkerFactory.generateClassic(classic)
-    TinkerFactory.generateModern(modern)
-    TinkerFactory.generateTheCrew(crew)
-    grateful.io(gryo()).readGraph('../data/grateful-dead.kryo')
-    TinkerFactory.generateKitchenSink(sink)
-
-    // a wild bit of trickery here. the process tests use an INTEGER id manager when LoadGraphWith is used. this
-    // closure provides a way to to manually override the various id managers for TinkerGraph - the graph on which
-    // all of these remote tests are executed - so that the tests will pass nicely. an alternative might have been
-    // to have a special test TinkerGraph config for setting up the id manager properly, but based on how we do
-    // things now, that test config would have been mixed in with release artifacts and there would have been ugly
-    // exclusions to make packaging work properly.
-    allowSetOfIdManager = { graph, idManagerFieldName ->
-        java.lang.reflect.Field idManagerField = graph.class.getDeclaredField(idManagerFieldName)
-        idManagerField.setAccessible(true)
-        java.lang.reflect.Field modifiersField = java.lang.reflect.Field.class.getDeclaredField("modifiers")
-        modifiersField.setAccessible(true)
-        modifiersField.setInt(idManagerField, modifiersField.getModifiers() & ~java.lang.reflect.Modifier.FINAL)
-
-        idManagerField.set(graph, TinkerGraph.DefaultIdManager.INTEGER)
-    }
-
-    [classic, modern, crew, sink].each{
-      allowSetOfIdManager(it, "vertexIdManager")
-      allowSetOfIdManager(it, "edgeIdManager")
-      allowSetOfIdManager(it, "vertexPropertyIdManager")
-    }
-  }
-] as LifeCycleHook]
-
-// add default TraversalSource instances for each graph instance
-globals << [gclassic : classic.traversal()]
-globals << [gmodern : modern.traversal()]
-globals << [gcrew : crew.traversal()]
-globals << [ggraph : graph.traversal()]
-globals << [ggrateful : grateful.traversal()]
-globals << [gsink : sink.traversal()]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/assembly/standalone.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/src/assembly/standalone.xml b/gremlin-server/src/assembly/standalone.xml
index cbb862e..f6a3641 100644
--- a/gremlin-server/src/assembly/standalone.xml
+++ b/gremlin-server/src/assembly/standalone.xml
@@ -38,9 +38,6 @@ limitations under the License.
         <fileSet>
             <directory>scripts</directory>
             <outputDirectory>/scripts</outputDirectory>
-            <excludes>
-                <exclude>generate-all.groovy</exclude>
-            </excludes>
         </fileSet>
         <fileSet>
             <directory>../target/docs/htmlsingle</directory>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
index 2c81078..8a1413a 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
@@ -122,7 +122,7 @@ public class RemoteGraphProvider extends AbstractGraphProvider implements AutoCl
     }
 
     public static void startServer() throws Exception {
-        final InputStream stream = RemoteGraphProvider.class.getResourceAsStream("gremlin-server-integration.yaml");
+        final InputStream stream = GremlinServer.class.getResourceAsStream("gremlin-server-integration.yaml");
         final Settings settings = Settings.read(stream);
         ServerTestHelper.rewritePathsInGremlinServerSettings(settings);
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
index d890b85..81d51df 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
@@ -69,12 +69,6 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
     private Cluster cluster;
     private Client client;
 
-    @Override
-    public Settings overrideSettings(final Settings settings) {
-        settings.scriptEngines.get("gremlin-groovy").scripts = Collections.singletonList("scripts/generate-modern.groovy");
-        return settings;
-    }
-
     @Before
     public void beforeTest() {
         final MessageSerializer serializer = new GryoMessageSerializerV1d0();
@@ -96,7 +90,7 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
     public void shouldHandleVertexResultFromTraversalBulked() throws Exception {
         final Graph graph = TinkerGraph.open();
         final GraphTraversalSource g = graph.traversal();
-        final Client aliased = client.alias("g");
+        final Client aliased = client.alias("gmodern");
         final ResultSet resultSetUnrolled = aliased.submit(g.V().both().barrier().both().barrier());
         final List<Result> results = resultSetUnrolled.all().get();
 
@@ -106,25 +100,25 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
 
     @Test
     public void shouldHandleNullResult() throws Exception {
-        final ResultSet results = client.submit("g.V().drop().iterate();null");
+        final ResultSet results = client.submit("gmodern.V().drop().iterate();null");
         assertNull(results.all().get().get(0).getObject());
     }
 
     @Test
     public void shouldHandleVoidResult() throws Exception {
-        final ResultSet results = client.submit("g.V().drop().iterate()");
+        final ResultSet results = client.submit("gmodern.V().drop().iterate()");
         assertEquals(0, results.all().get().size());
     }
 
     @Test
     public void shouldHandleEmptyResult() throws Exception {
-        final ResultSet results = client.submit("g.V(100,1000,1000)");
+        final ResultSet results = client.submit("gmodern.V(100,1000,1000)");
         assertEquals(0, results.all().get().size());
     }
 
     @Test
     public void shouldHandleVertexResult() throws Exception {
-        final ResultSet results = client.submit("g.V(1).next()");
+        final ResultSet results = client.submit("gmodern.V(1).next()");
         final Vertex v = results.all().get().get(0).getVertex();
         assertThat(v, instanceOf(DetachedVertex.class));
 
@@ -143,46 +137,46 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
     public void shouldHandleVertexResultWithLiteSerialization() throws Exception {
         final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRYO_LITE_V1D0).create();
         final Client clientLite = cluster.connect();
-        final ResultSet results = clientLite.submit("g.V(1).next()");
+        final ResultSet results = clientLite.submit("gmodern.V(1).next()");
         final Vertex v = results.all().get().get(0).getVertex();
         assertThat(v, instanceOf(ReferenceVertex.class));
 
-        assertEquals(1L, v.id());
+        assertEquals(1, v.id());
         assertEquals("person", v.label());
         assertEquals(0, IteratorUtils.count(v.properties()));
     }
 
     @Test
     public void shouldHandleVertexPropertyResult() throws Exception {
-        final ResultSet results = client.submit("g.V().properties('name').next()");
+        final ResultSet results = client.submit("gmodern.V().properties('name').next()");
         final VertexProperty<String> v = results.all().get().get(0).getVertexProperty();
         assertThat(v, instanceOf(DetachedVertexProperty.class));
     }
 
     @Test
     public void shouldHandleEdgeResult() throws Exception {
-        final ResultSet results = client.submit("g.E().next()");
+        final ResultSet results = client.submit("gmodern.E().next()");
         final Edge e = results.all().get().get(0).getEdge();
         assertThat(e, instanceOf(DetachedEdge.class));
     }
 
     @Test
     public void shouldHandlePropertyResult() throws Exception {
-        final ResultSet results = client.submit("g.E().properties('weight').next()");
+        final ResultSet results = client.submit("gmodern.E().properties('weight').next()");
         final Property<Double> p = results.all().get().get(0).getProperty();
         assertThat(p, instanceOf(DetachedProperty.class));
     }
 
     @Test
     public void shouldHandlePathResult() throws Exception {
-        final ResultSet results = client.submit("g.V().out().path()");
+        final ResultSet results = client.submit("gmodern.V().out().path()");
         final Path p = results.all().get().get(0).getPath();
         assertThat(p, instanceOf(DetachedPath.class));
     }
 
     @Test
     public void shouldHandleTinkerGraphResult() throws Exception {
-        final ResultSet results = client.submit("graph");
+        final ResultSet results = client.submit("modern");
         final Graph graph = results.all().get().get(0).get(TinkerGraph.class);
 
         // test is "lossy for id" because TinkerGraph is configured by default to use the ANY id manager
@@ -193,7 +187,7 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
 
     @Test
     public void shouldHandleMapIteratedResult() throws Exception {
-        final ResultSet results = client.submit("g.V().groupCount().by(bothE().count())");
+        final ResultSet results = client.submit("gmodern.V().groupCount().by(bothE().count())");
         final List<Result> resultList = results.all().get();
         final Map m = resultList.get(0).get(HashMap.class);
         assertEquals(2, m.size());
@@ -203,7 +197,7 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
 
     @Test
     public void shouldHandleMapObjectResult() throws Exception {
-        final ResultSet results = client.submit("g.V().groupCount().by(bothE().count()).next()");
+        final ResultSet results = client.submit("gmodern.V().groupCount().by(bothE().count()).next()");
         final List<Result> resultList = results.all().get();
         assertEquals(2, resultList.size());
         final Map.Entry firstEntry = resultList.get(0).get(HashMap.Entry.class);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
index df7b734..1375521 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
@@ -70,12 +70,6 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
             case "should413OnPostWithResultTooLarge":
                 settings.maxContentLength = 31;
                 break;
-            case "should200OnGETWithGremlinQueryStringArgumentWithIteratorResult":
-            case "should200OnPOSTWithGremlinJsonEndcodedBodyWithIteratorResult":
-            case "should200OnPOSTWithGremlinJsonEndcodedBodyWithIteratorResultAndAliases":
-            case "should200OnGETWithGremlinQueryStringArgumentWithIteratorResultAndAliases":
-                settings.scriptEngines.get("gremlin-groovy").scripts = Collections.singletonList("scripts/generate-classic.groovy");
-                break;
             case "should200OnPOSTTransactionalGraph":
                 deleteDirectory(new File("/tmp/neo4j"));
                 settings.graphs.put("graph", "conf/neo4j-empty.properties");
@@ -354,7 +348,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
     @Test
     public void should200OnGETWithGremlinQueryStringArgumentWithIteratorResult() throws Exception {
         final CloseableHttpClient httpclient = HttpClients.createDefault();
-        final HttpGet httpget = new HttpGet(TestClientFactory.createURLString("?gremlin=g.V()"));
+        final HttpGet httpget = new HttpGet(TestClientFactory.createURLString("?gremlin=gclassic.V()"));
 
         try (final CloseableHttpResponse response = httpclient.execute(httpget)) {
             assertEquals(200, response.getStatusLine().getStatusCode());
@@ -369,7 +363,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
     public void should200OnGETWithGremlinQueryStringArgumentWithIteratorResultAndAliases() throws Exception {
         // we can remove this first test when rebindings are completely removed
         final CloseableHttpClient httpclientLegacy = HttpClients.createDefault();
-        final HttpGet httpgetLegacy = new HttpGet(TestClientFactory.createURLString("?gremlin=g1.V()&rebindings.g1=g"));
+        final HttpGet httpgetLegacy = new HttpGet(TestClientFactory.createURLString("?gremlin=g1.V()&rebindings.g1=gclassic"));
 
         try (final CloseableHttpResponse response = httpclientLegacy.execute(httpgetLegacy)) {
             assertEquals(200, response.getStatusLine().getStatusCode());
@@ -380,7 +374,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
         }
 
         final CloseableHttpClient httpclient = HttpClients.createDefault();
-        final HttpGet httpget = new HttpGet(TestClientFactory.createURLString("?gremlin=g1.V()&aliases.g1=g"));
+        final HttpGet httpget = new HttpGet(TestClientFactory.createURLString("?gremlin=g1.V()&aliases.g1=gclassic"));
 
         try (final CloseableHttpResponse response = httpclient.execute(httpget)) {
             assertEquals(200, response.getStatusLine().getStatusCode());
@@ -573,7 +567,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
         final CloseableHttpClient httpclient = HttpClients.createDefault();
         final HttpPost httppost = new HttpPost(TestClientFactory.createURLString());
         httppost.addHeader("Content-Type", "application/json");
-        httppost.setEntity(new StringEntity("{\"gremlin\":\"g.V()\"}", Consts.UTF_8));
+        httppost.setEntity(new StringEntity("{\"gremlin\":\"gclassic.V()\"}", Consts.UTF_8));
 
         try (final CloseableHttpResponse response = httpclient.execute(httppost)) {
             assertEquals(200, response.getStatusLine().getStatusCode());
@@ -613,7 +607,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
         final CloseableHttpClient httpclientLegacy = HttpClients.createDefault();
         final HttpPost httppostLegacy = new HttpPost(TestClientFactory.createURLString());
         httppostLegacy.addHeader("Content-Type", "application/json");
-        httppostLegacy.setEntity(new StringEntity("{\"gremlin\":\"g1.V()\",\"rebindings\":{\"g1\":\"g\"}}", Consts.UTF_8));
+        httppostLegacy.setEntity(new StringEntity("{\"gremlin\":\"g1.V()\",\"rebindings\":{\"g1\":\"gclassic\"}}", Consts.UTF_8));
 
         try (final CloseableHttpResponse response = httpclientLegacy.execute(httppostLegacy)) {
             assertEquals(200, response.getStatusLine().getStatusCode());
@@ -626,7 +620,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
         final CloseableHttpClient httpclient = HttpClients.createDefault();
         final HttpPost httppost = new HttpPost(TestClientFactory.createURLString());
         httppost.addHeader("Content-Type", "application/json");
-        httppost.setEntity(new StringEntity("{\"gremlin\":\"g1.V()\",\"aliases\":{\"g1\":\"g\"}}", Consts.UTF_8));
+        httppost.setEntity(new StringEntity("{\"gremlin\":\"g1.V()\",\"aliases\":{\"g1\":\"gclassic\"}}", Consts.UTF_8));
 
         try (final CloseableHttpResponse response = httpclient.execute(httppost)) {
             assertEquals(200, response.getStatusLine().getStatusCode());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/ServerTestHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/ServerTestHelper.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/ServerTestHelper.java
index e846673..41352a4 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/ServerTestHelper.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/ServerTestHelper.java
@@ -33,16 +33,17 @@ public class ServerTestHelper {
      */
     public static void rewritePathsInGremlinServerSettings(final Settings overridenSettings) {
         final String buildDir = System.getProperty("build.dir");
-        final String homeDir = buildDir.substring(0, buildDir.indexOf("gremlin-server") + "gremlin-server".length());
+        final String homeDir = buildDir.substring(0, buildDir.indexOf("gremlin-server") + "gremlin-server".length()) +
+                File.separator + "src" + File.separator + "test" + File.separator +"scripts";
 
         overridenSettings.scriptEngines.get("gremlin-groovy").scripts = overridenSettings.scriptEngines
                 .get("gremlin-groovy").scripts.stream()
-                .map(s -> new File(s).isAbsolute() ? s : homeDir + File.separator + s)
+                .map(s -> new File(s).isAbsolute() ? s : homeDir + s.substring(s.lastIndexOf(File.separator)))
                 .collect(Collectors.toList());
 
         overridenSettings.graphs = overridenSettings.graphs.entrySet().stream()
                 .map(kv -> {
-                    kv.setValue(homeDir + File.separator + kv.getValue());
+                    kv.setValue(homeDir + kv.getValue().substring(kv.getValue().lastIndexOf(File.separator)));
                     return kv;
                 }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
     }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManagerTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManagerTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManagerTest.java
index 0841ffa..6c0e8b0 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManagerTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManagerTest.java
@@ -47,9 +47,14 @@ public class DefaultGraphManagerTest {
         final Set<String> graphNames = graphManager.getGraphNames();
 
         assertNotNull(graphNames);
-        assertEquals(1, graphNames.size());
-
-        assertEquals(graphNames.toArray()[0], "graph");
+        assertEquals(6, graphNames.size());
+
+        assertThat(graphNames.contains("graph"), is(true));
+        assertThat(graphNames.contains("classic"), is(true));
+        assertThat(graphNames.contains("modern"), is(true));
+        assertThat(graphNames.contains("crew"), is(true));
+        assertThat(graphNames.contains("sink"), is(true));
+        assertThat(graphNames.contains("grateful"), is(true));
         assertThat(graphManager.getGraph("graph"), instanceOf(TinkerGraph.class));
     }
 
@@ -60,9 +65,14 @@ public class DefaultGraphManagerTest {
         final Bindings bindings = graphManager.getAsBindings();
 
         assertNotNull(bindings);
-        assertEquals(1, bindings.size());
-        assertThat(bindings.get("graph"), instanceOf(TinkerGraph.class));
+        assertEquals(6, bindings.size());
         assertThat(bindings.containsKey("graph"), is(true));
+        assertThat(bindings.containsKey("classic"), is(true));
+        assertThat(bindings.containsKey("modern"), is(true));
+        assertThat(bindings.containsKey("crew"), is(true));
+        assertThat(bindings.containsKey("sink"), is(true));
+        assertThat(bindings.containsKey("grateful"), is(true));
+        assertThat(bindings.get("graph"), instanceOf(TinkerGraph.class));
     }
 
     @Test
@@ -84,8 +94,14 @@ public class DefaultGraphManagerTest {
 
         final Set<String> graphNames = graphManager.getGraphNames();
         assertNotNull(graphNames);
-        assertEquals(2, graphNames.size());
+        assertEquals(7, graphNames.size());
         assertThat(graphNames.contains("newGraph"), is(true));
+        assertThat(graphNames.contains("graph"), is(true));
+        assertThat(graphNames.contains("classic"), is(true));
+        assertThat(graphNames.contains("modern"), is(true));
+        assertThat(graphNames.contains("crew"), is(true));
+        assertThat(graphNames.contains("sink"), is(true));
+        assertThat(graphNames.contains("grateful"), is(true));
         assertThat(graphManager.getGraph("newGraph"), instanceOf(TinkerGraph.class));
     }
 
@@ -97,14 +113,14 @@ public class DefaultGraphManagerTest {
         graphManager.putGraph("newGraph", graph);
         final Set<String> graphNames = graphManager.getGraphNames();
         assertNotNull(graphNames);
-        assertEquals(2, graphNames.size());
+        assertEquals(7, graphNames.size());
         assertThat(graphNames.contains("newGraph"), is(true));
         assertThat(graphManager.getGraph("newGraph"), instanceOf(TinkerGraph.class));
 
         graphManager.removeGraph("newGraph");
 
         final Set<String> graphNames2 = graphManager.getGraphNames();
-        assertEquals(1, graphNames2.size());
+        assertEquals(6, graphNames2.size());
         assertThat(graphNames2.contains("newGraph"), is(false));
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml b/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml
deleted file mode 100644
index 7b388aa..0000000
--- a/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "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
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-host: localhost
-port: 45940
-scriptEvaluationTimeout: 30000
-graphs: {
-  graph: conf/tinkergraph-empty.properties,
-  classic: conf/tinkergraph-empty.properties,
-  modern: conf/tinkergraph-empty.properties,
-  crew: conf/tinkergraph-empty.properties,
-  grateful: conf/tinkergraph-empty.properties,
-  sink: conf/tinkergraph-empty.properties}
-plugins:
-  - tinkerpop.tinkergraph
-scriptEngines: {
-  gremlin-groovy: {
-    imports: [java.lang.Math],
-    staticImports: [java.lang.Math.PI],
-    scripts: [scripts/generate-all.groovy]}}
-serializers:
-  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0], custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}}
-  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0], custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}}
-  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true}}
-  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }}
-  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV2d0] }}
-  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }}
-processors:
-  - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
-metrics: {
-  slf4jReporter: {enabled: true, interval: 180000}}
-strictTransactionManagement: false
-idleConnectionTimeout: 0
-keepAliveInterval: 0
-maxInitialLineLength: 4096
-maxHeaderSize: 8192
-maxChunkSize: 8192
-maxContentLength: 65536
-maxAccumulationBufferComponents: 1024
-resultIterationBatchSize: 64
-writeBufferHighWaterMark: 32768
-writeBufferHighWaterMark: 65536

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml b/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml
index 3b28020..dcb5299 100644
--- a/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml
+++ b/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml
@@ -19,14 +19,19 @@ host: localhost
 port: 45940
 scriptEvaluationTimeout: 30000
 graphs: {
-  graph: conf/tinkergraph-empty.properties}
+  graph: conf/tinkergraph-empty.properties,
+  classic: conf/tinkergraph-empty.properties,
+  modern: conf/tinkergraph-empty.properties,
+  crew: conf/tinkergraph-empty.properties,
+  grateful: conf/tinkergraph-empty.properties,
+  sink: conf/tinkergraph-empty.properties}
 plugins:
   - tinkerpop.tinkergraph
 scriptEngines: {
   gremlin-groovy: {
     imports: [java.lang.Math],
     staticImports: [java.lang.Math.PI],
-    scripts: [scripts/empty-sample.groovy]}}
+    scripts: [scripts/generate-all.groovy]}}
 serializers:
   - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0], custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}}
   - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0], custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}}
@@ -48,4 +53,4 @@ maxContentLength: 65536
 maxAccumulationBufferComponents: 1024
 resultIterationBatchSize: 64
 writeBufferLowWaterMark: 32768
-writeBufferHighWaterMark: 65536
+writeBufferHighWaterMark: 65536
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/scripts/generate-all.groovy
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/scripts/generate-all.groovy b/gremlin-server/src/test/scripts/generate-all.groovy
index 108ca5d..ee65bb4 100644
--- a/gremlin-server/src/test/scripts/generate-all.groovy
+++ b/gremlin-server/src/test/scripts/generate-all.groovy
@@ -17,6 +17,11 @@
  * under the License.
  */
 
+// An example of an initialization script that can be configured to run in Gremlin Server.
+// Functions defined here will go into global cache and will not be removed from there
+// unless there is a reset of the ScriptEngine.
+def addItUp(x, y) { x + y }
+
 // an init script that returns a Map allows explicit setting of global bindings.
 def globals = [:]
 
@@ -27,16 +32,38 @@ globals << [hook : [
     TinkerFactory.generateClassic(classic)
     TinkerFactory.generateModern(modern)
     TinkerFactory.generateTheCrew(crew)
+    TinkerFactory.generateGratefulDead(grateful)
     TinkerFactory.generateKitchenSink(sink)
-    grateful.io(gryo()).readGraph('data/grateful-dead.kryo')
+
+    // a wild bit of trickery here. the process tests use an INTEGER id manager when LoadGraphWith is used. this
+    // closure provides a way to to manually override the various id managers for TinkerGraph - the graph on which
+    // all of these remote tests are executed - so that the tests will pass nicely. an alternative might have been
+    // to have a special test TinkerGraph config for setting up the id manager properly, but based on how we do
+    // things now, that test config would have been mixed in with release artifacts and there would have been ugly
+    // exclusions to make packaging work properly.
+    allowSetOfIdManager = { graph, idManagerFieldName ->
+        java.lang.reflect.Field idManagerField = graph.class.getDeclaredField(idManagerFieldName)
+        idManagerField.setAccessible(true)
+        java.lang.reflect.Field modifiersField = java.lang.reflect.Field.class.getDeclaredField("modifiers")
+        modifiersField.setAccessible(true)
+        modifiersField.setInt(idManagerField, modifiersField.getModifiers() & ~java.lang.reflect.Modifier.FINAL)
+
+        idManagerField.set(graph, TinkerGraph.DefaultIdManager.INTEGER)
+    }
+
+    [classic, modern, crew, sink, grateful].each{
+      allowSetOfIdManager(it, "vertexIdManager")
+      allowSetOfIdManager(it, "edgeIdManager")
+      allowSetOfIdManager(it, "vertexPropertyIdManager")
+    }
   }
 ] as LifeCycleHook]
 
 // add default TraversalSource instances for each graph instance
 globals << [gclassic : classic.traversal()]
 globals << [gmodern : modern.traversal()]
+globals << [g : graph.traversal()]
 globals << [gcrew : crew.traversal()]
 globals << [ggraph : graph.traversal()]
-globals << [g : modern.traversal()]
 globals << [ggrateful : grateful.traversal()]
 globals << [gsink : sink.traversal()]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d116ad5c/gremlin-server/src/test/scripts/neo4j-empty.properties
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/scripts/neo4j-empty.properties b/gremlin-server/src/test/scripts/neo4j-empty.properties
new file mode 100644
index 0000000..0ea551b
--- /dev/null
+++ b/gremlin-server/src/test/scripts/neo4j-empty.properties
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "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
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# This is a sample configuration file for Neo4j.  Note that
+# TinkerPop does not include Neo4j dependencies in its
+# distributions.  To use this file, please ensure that Neo4j
+# dependencies are installed into Gremlin Server's path
+# with:
+#
+# gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin 3.y.z
+#
+# Note that unless under a commercial agreement with Neo Technology,
+# Neo4j is licensed AGPL.
+
+
+gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
+gremlin.neo4j.directory=/tmp/neo4j
+gremlin.neo4j.conf.node_auto_indexing=true
+gremlin.neo4j.conf.relationship_auto_indexing=true
\ No newline at end of file