test_aliases   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 33
dl 0
loc 39
rs 10
c 0
b 0
f 0

2 Functions

Rating   Name   Duplication   Size   Complexity  
A test_alias_serialization() 0 18 1
A test_gremlin_query() 0 10 2
1
import json
2
import uuid
3
4
import pytest
5
6
from aiogremlin import driver
7
from gremlin_python.driver import request, serializer
8
9
@pytest.mark.asyncio
10
async def test_gremlin_query(event_loop, cluster):
11
    alias = { 'g': 'g' }
12
    cluster = await driver.Cluster.open(event_loop, aliases=alias, hosts=['gremlin-server'])
13
    client = await cluster.connect()
14
    assert client.aliases == alias
15
    resp = await client.submit("1 + 1")
16
    async for msg in resp:
17
        print(msg)
18
    await cluster.close()
19
20
21
@pytest.mark.asyncio
22
async def test_alias_serialization(event_loop):
23
    alias = { 'g': 'g' }
24
    message = '1 + 1'
25
    cluster = await driver.Cluster.open(event_loop, aliases=alias, hosts=['gremlin-server'])
26
    client = await cluster.connect()
27
    # This is the code client/conn uses on submit
28
    message = request.RequestMessage(
29
        processor='', op='eval',
30
        args={'gremlin': message,
31
              'aliases': client._aliases})
32
    request_id = str(uuid.uuid4())
33
    message = serializer.GraphSONMessageSerializer().serialize_message(
34
        request_id, message)
35
    message = message.decode('utf-8')[34:]
36
    aliases = json.loads(message)['args']['aliases']
37
    assert aliases == alias
38
    await cluster.close()
39