From ba1bdb55dd1bb7b9d5611ae43203d7dc90122813 Mon Sep 17 00:00:00 2001
From: davebshow <davebshow@gmail.com>
Date: Wed, 29 Jul 2015 10:05:32 -0400
Subject: [PATCH] refactored tests to run agains titan 0.9.0-M2 as well as GA
 3.0.0. Closes issue #1

---
 tests/tests.py | 109 +++++++++++++++++++++++--------------------------
 1 file changed, 50 insertions(+), 59 deletions(-)

diff --git a/tests/tests.py b/tests/tests.py
index 45c9a2f..b35bebb 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -6,7 +6,7 @@ import unittest
 import uuid
 
 from aiogremlin import (submit, GremlinConnector, GremlinClient,
-                        GremlinClientSession)
+                        GremlinClientSession, GremlinServerError)
 
 
 class SubmitTest(unittest.TestCase):
@@ -18,36 +18,44 @@ class SubmitTest(unittest.TestCase):
     def tearDown(self):
         self.loop.close()
 
-    def test_submit(self):
+    # def test_submit(self):
+    #
+    #     @asyncio.coroutine
+    #     def go():
+    #         resp = yield from submit("4 + 4", bindings={"x": 4},
+    #                                  loop=self.loop)
+    #         results = yield from resp.get()
+    #         return results
+    #
+    #     results = self.loop.run_until_complete(go())
+    #     self.assertEqual(results[0].data[0], 8)
 
-        @asyncio.coroutine
-        def go():
-            resp = yield from submit("4 + 4", bindings={"x": 4},
-                                     loop=self.loop)
-            results = yield from resp.get()
-            return results
+    def test_rebinding(self):
 
-        results = self.loop.run_until_complete(go())
-        self.assertEqual(results[0].data[0], 8)
+        @asyncio.coroutine
+        def go1():
+            result = yield from submit("graph2.addVertex()", loop=self.loop)
+            resp = yield from result.get()
 
-    def test_rebinding(self):
-        execute = submit("graph2.addVertex()", loop=self.loop)
         try:
-            self.loop.run_until_complete(execute.get())
+            self.loop.run_until_complete(go1())
             error = False
-        except:
+        except GremlinServerError:
             error = True
         self.assertTrue(error)
 
         @asyncio.coroutine
-        def go():
+        def go2():
             result = yield from submit(
                 "graph2.addVertex()", rebindings={"graph2": "graph"},
                 loop=self.loop)
             resp = yield from result.get()
             self.assertEqual(len(resp), 1)
 
-        self.loop.run_until_complete(go())
+        try:
+            self.loop.run_until_complete(go2())
+        except GremlinServerError:
+            print("RELEASE DOES NOT SUPPORT REBINDINGS")
 
 
 class GremlinClientTest(unittest.TestCase):
@@ -120,7 +128,7 @@ class GremlinClientTest(unittest.TestCase):
         try:
             self.loop.run_until_complete(execute)
             error = False
-        except:
+        except GremlinServerError:
             error = True
         self.assertTrue(error)
 
@@ -130,8 +138,10 @@ class GremlinClientTest(unittest.TestCase):
                 "graph2.addVertex()", rebindings={"graph2": "graph"})
             self.assertEqual(len(result), 1)
 
-        self.loop.run_until_complete(go())
-
+        try:
+            self.loop.run_until_complete(go())
+        except GremlinServerError:
+            print("RELEASE DOES NOT SUPPORT REBINDINGS")
 
 
 class GremlinClientSessionTest(unittest.TestCase):
@@ -141,10 +151,9 @@ class GremlinClientSessionTest(unittest.TestCase):
         asyncio.set_event_loop(None)
         self.gc = GremlinClientSession(url="ws://localhost:8182/",
                                        loop=self.loop)
-        self.script1 = """graph = TinkerFactory.createModern()
-                          g = graph.traversal(standard())"""
+        self.script1 = """v = graph.addVertex('name', 'Dave')"""
 
-        self.script2 = "g.V().has('name','marko').out('knows').values('name')"
+        self.script2 = "v.property('name')"
 
     def tearDown(self):
         self.loop.run_until_complete(self.gc.close())
@@ -159,7 +168,7 @@ class GremlinClientSessionTest(unittest.TestCase):
             return results
 
         results = self.loop.run_until_complete(go())
-        self.assertTrue(len(results[0].data), 2)
+        self.assertEqual(results[0].data[0]['value'], 'Dave')
 
     def test_session_reset(self):
 
@@ -169,9 +178,12 @@ class GremlinClientSessionTest(unittest.TestCase):
             self.gc.reset_session()
             results = yield from self.gc.execute(self.script2)
             return results
-
-        results = self.loop.run_until_complete(go())
-        self.assertIsNone(results[0].data)
+        try:
+            results = self.loop.run_until_complete(go())
+            error = False
+        except GremlinServerError:
+            error = True
+        self.assertTrue(error)
 
     def test_session_manual_reset(self):
 
@@ -184,9 +196,12 @@ class GremlinClientSessionTest(unittest.TestCase):
             self.assertEqual(self.gc.session, new_sess)
             results = yield from self.gc.execute(self.script2)
             return results
-
-        results = self.loop.run_until_complete(go())
-        self.assertIsNone(results[0].data)
+        try:
+            results = self.loop.run_until_complete(go())
+            error = False
+        except GremlinServerError:
+            error = True
+        self.assertTrue(error)
 
     def test_session_set(self):
 
@@ -198,9 +213,12 @@ class GremlinClientSessionTest(unittest.TestCase):
             self.assertEqual(self.gc.session, new_sess)
             results = yield from self.gc.execute(self.script2)
             return results
-
-        results = self.loop.run_until_complete(go())
-        self.assertIsNone(results[0].data)
+        try:
+            results = self.loop.run_until_complete(go())
+            error = False
+        except GremlinServerError:
+            error = True
+        self.assertTrue(error)
 
     def test_resp_session(self):
 
@@ -218,32 +236,5 @@ class GremlinClientSessionTest(unittest.TestCase):
         self.loop.run_until_complete(go())
 
 
-class ContextMngrTest(unittest.TestCase):
-
-    def setUp(self):
-        self.loop = asyncio.new_event_loop()
-        asyncio.set_event_loop(None)
-        self.connector = GremlinConnector(loop=self.loop)
-
-    def tearDown(self):
-        self.loop.run_until_complete(self.connector.close())
-        self.loop.close()
-
-    # def test_connection_manager(self):
-    #     results = []
-    #
-    #     @asyncio.coroutine
-    #     def go():
-    #         with (yield from self.connector) as conn:
-    #             client = SimpleGremlinClient(conn, loop=self.loop)
-    #             resp = yield from client.submit("1 + 1")
-    #             while True:
-    #                 mssg = yield from resp.stream.read()
-    #                 if mssg is None:
-    #                     break
-    #                 results.append(mssg)
-    #     self.loop.run_until_complete(go())
-
-
 if __name__ == "__main__":
     unittest.main()
-- 
GitLab