Skip to content

Commit

Permalink
Merge pull request #158 from fauna/versioned-queries
Browse files Browse the repository at this point in the history
DRV-216: Support for versioned @query type
  • Loading branch information
Trevor Sibanda committed Aug 13, 2020
2 parents 867957d + c61376b commit b12e903
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 3 deletions.
6 changes: 6 additions & 0 deletions tests/test_deserialization.py
Expand Up @@ -47,8 +47,14 @@ def test_bytes(self):
self.assertJson('{"@bytes":"AQID"}', bytearray(b'\x01\x02\x03'))

def test_query(self):
self.assertJson('{"@query": {"api_version": "3", "lambda": "x", "expr": {"var": "x"}}}',
Query({"api_version":"3", "lambda": "x", "expr": {"var": "x"}}))
self.assertJson('{"@query": {"lambda": "x", "expr": {"var": "x"}}}',
Query({"lambda": "x", "expr": {"var": "x"}}))
self.assertJson('{"@query": {"lambda": "x", "expr": {"var": "x"}}}',
Query({"lambda": "x", "expr": {"var": "x"}}))
self.assertJson('{"@query": {"api_version": "2.12", "lambda": "x", "expr": {"var": "x"}}}',
Query({"api_version": "2.12", "lambda": "x", "expr": {"var": "x"}}))

def test_string(self):
self.assertJson('"a string"', "a string")
Expand Down
14 changes: 13 additions & 1 deletion tests/test_query.py
Expand Up @@ -3,7 +3,7 @@
from time import sleep

from faunadb.errors import BadRequest, NotFound
from faunadb.objects import FaunaTime, Ref, SetRef, _Expr, Native
from faunadb.objects import FaunaTime, Ref, SetRef, _Expr, Native, Query
from faunadb import query
from tests.helpers import FaunaTestCase

Expand Down Expand Up @@ -60,6 +60,18 @@ def _assert_bad_query(self, q):
def test_abort(self):
self._assert_bad_query(query.abort("aborting"))

def test_query(self):
versioned212 = Query({"api_version": "2.12", "lambda": ["a", "b"], "expr": {
"concat": [{"var": "a"}, {"var": "b"}], "separator": "/"}})
body212 = self._q(versioned212)

body3 = self._q(query.query(lambda a, b: query.concat([a, b], "/")))
versioned3 = Query({"api_version": "3", "lambda": ["a", "b"], "expr": {
"concat": [{"var": "a"}, {"var": "b"}], "separator": "/"}})

self.assertEqual(body212, versioned212)
self.assertEqual(body3, versioned3)

def test_at(self):
document = self._create(n=1)
ref = document["ref"]
Expand Down
7 changes: 5 additions & 2 deletions tests/test_serialization.py
Expand Up @@ -44,8 +44,11 @@ def test_bytes(self):
self.assertJson(b'\x01\x02\x03', '{"@bytes":"AQID"}')

def test_query(self):
self.assertJson(Query({"lambda": "x", "expr": {"var": "x"}}),
'{"@query":{"expr":{"var":"x"},"lambda":"x"}}')
expected1 = '{"@query":{"expr":{"var":"x"},"lambda":"x"}}'
expected2 = '{"@query":{"api_version":"3","expr":{"var":"x"},"lambda":"x"}}'
self.assertJson(Query({"lambda": "x", "expr": {"var": "x"}}), expected1)
self.assertJson(Query({"api_version": "3", "lambda": "x", "expr": {"var": "x"}}),
expected2)

#region Basic forms

Expand Down

0 comments on commit b12e903

Please sign in to comment.