Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRV-216: Support for versioned @query type #158

Merged
merged 2 commits into from Aug 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion faunadb/client.py
Expand Up @@ -12,7 +12,7 @@
from faunadb.request_result import RequestResult
from faunadb._json import parse_json_or_none, to_json

API_VERSION = "2.7"
API_VERSION = "3"

class _LastTxnTime(object):
"""Wraps tracking the last transaction time supplied from the database."""
Expand Down
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):
trevorsibanda marked this conversation as resolved.
Show resolved Hide resolved
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