Skip to content

Commit d0a8000

Browse files
Add integration test
1 parent 00ec90c commit d0a8000

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

pydgraph/client_stub.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@
1919
from pydgraph.meta import VERSION
2020
from pydgraph.proto import api_pb2_grpc as api_grpc
2121

22-
from urllib.parse import urlparse
22+
try:
23+
from urllib.parse import urlparse
24+
except ImportError:
25+
from urlparse import urlparse
2326

2427
__author__ = 'Garvit Pahal <[email protected]>'
2528
__maintainer__ = 'Martin Martinez Rivera <[email protected]>'

pydgraph/txn.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,12 +192,12 @@ def create_mutation(self, mutation=None, set_obj=None, del_obj=None,
192192
return mutation
193193

194194
def create_request(self, query=None, variables=None, mutations=None, commit_now=None, resp_format="JSON"):
195-
switch(resp_format) {
196-
case "RDF":
197-
resp_format = api.Request.RespFormat.RDF
198-
default:
195+
if resp_format=="JSON":
199196
resp_format = api.Request.RespFormat.JSON
200-
};
197+
elif resp_format =="RDF":
198+
resp_format = api.Request.RespFormat.RDF
199+
else: raise errors.TransactionError('Response format should be either RDF or JSON')
200+
201201
"""Creates a request object"""
202202
request = api.Request(start_ts = self._ctx.start_ts, commit_now=commit_now,
203203
read_only=self._read_only, best_effort=self._best_effort, resp_format = resp_format)

tests/test_queries.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ def test_mutation_and_query(self):
6969
}
7070
}"""
7171

72+
queryRDF = """query q($a: string) {
73+
q(func: anyofterms(name, "Alice"))
74+
{
75+
uid
76+
name
77+
}
78+
}"""
79+
7280
response = self.client.txn().query(query, variables={'$a': 'Alice'})
7381
self.assertEqual([{'name': 'Alice', 'follows': [{'name': 'Greg'}]}],
7482
json.loads(response.json).get('me'))
@@ -79,6 +87,12 @@ def test_mutation_and_query(self):
7987
self.assertTrue(is_number(response.latency.encoding_ns),
8088
'Encoding latency is not available')
8189

90+
""" Run query with JSON and RDF resp_format and verify the result """
91+
response = self.client.txn().query(queryRDF, variables={'$a': 'Alice'})
92+
uid = json.loads(response.json).get('q')[0]['uid']
93+
expected_rdf = "<{}> <name> \"Alice\" .\n".format(uid)
94+
response = self.client.txn().query(queryRDF, variables={'$a': 'Alice'}, resp_format="RDF")
95+
self.assertEqual(expected_rdf,response.rdf)
8296

8397
def is_number(number):
8498
"""Returns true if object is a number. Compatible with Python 2 and 3."""

0 commit comments

Comments
 (0)