示例#1
0
  def test_call_function(self):
    self._q(query.create_function({
      "name": "concat_with_slash",
      "body": query.query(lambda a, b: query.concat([a, b], "/"))
    }))

    self.assertEqual(self._q(query.call(query.function("concat_with_slash"), "a", "b")), "a/b")
示例#2
0
  def test_reduce(self):
    data1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    data2 = ["Fauna", "DB", " ", "rocks"]

    q1 = query.reduce(query.lambda_query(lambda accum, value: query.add(query.var("accum"), query.var("value"))), 0, data1)
    q2 = query.reduce(query.lambda_query(lambda accum, value: query.concat([query.var("accum"), query.var("value")])), "", data2)

    self.assertEqual(self._q(q1), 45)
    self.assertEqual(self._q(q2), "FaunaDB rocks")
示例#3
0
  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": "4", "lambda": ["a", "b"], "expr": {
                       "concat": [{"var": "a"}, {"var": "b"}], "separator": "/"}})

    self.assertEqual(body212, versioned212)
    self.assertEqual(body3, versioned3)
 def test_concat(self):
     self.assertJson(query.concat(["a", "b"]), '{"concat":["a","b"]}')
     self.assertJson(query.concat(["a", "b"], "/"),
                     '{"concat":["a","b"],"separator":"/"}')
示例#5
0
 def test_concat(self):
     self.assertEqual(self._q(query.concat(["a", "b", "c"])), "abc")
     self.assertEqual(self._q(query.concat([])), "")
     self.assertEqual(self._q(query.concat(["a", "b", "c"], ".")), "a.b.c")
示例#6
0
    def test_echo_query(self):
        body = self._q(query.query(lambda a, b: query.concat([a, b], "/")))
        bodyEchoed = self._q(body)

        self.assertEqual(body, bodyEchoed)