Commit ba1bdb55 authored by davebshow's avatar davebshow
Browse files

refactored tests to run agains titan 0.9.0-M2 as well as GA 3.0.0. Closes issue #1

parent eae145c9
......@@ -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()
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment