couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tonysu...@apache.org
Subject [2/2] couchdb-mango git commit: Add tests to verify the effect of enabling/disabling index_array_lengths Skip the array-length-field tests if text service is not running Skip creating the index doc if the text service is not up
Date Wed, 28 Oct 2015 17:11:31 GMT
Add tests to verify the effect of enabling/disabling index_array_lengths
Skip the array-length-field tests if text service is not running
Skip creating the index doc if the text service is not up


Project: http://git-wip-us.apache.org/repos/asf/couchdb-mango/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mango/commit/090dc675
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mango/tree/090dc675
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mango/diff/090dc675

Branch: refs/heads/master
Commit: 090dc67501d5beff6820f7fd8c77a18e46cd58ee
Parents: bf44d0f
Author: brkolla <bkolla@cloudant.com>
Authored: Sun Oct 25 21:53:46 2015 -0400
Committer: brkolla <bkolla@cloudant.com>
Committed: Tue Oct 27 14:19:05 2015 -0400

----------------------------------------------------------------------
 test/10-disable-array-length-field-test.py | 42 +++++++++++++++++++++++++
 test/mango.py                              |  4 ++-
 2 files changed, 45 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/090dc675/test/10-disable-array-length-field-test.py
----------------------------------------------------------------------
diff --git a/test/10-disable-array-length-field-test.py b/test/10-disable-array-length-field-test.py
new file mode 100644
index 0000000..0715f1d
--- /dev/null
+++ b/test/10-disable-array-length-field-test.py
@@ -0,0 +1,42 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+import mango
+import unittest
+
+
+class DisableIndexArrayLengthsTest(mango.UserDocsTextTests):
+
+    @classmethod
+    def setUpClass(klass):
+        super(DisableIndexArrayLengthsTest, klass).setUpClass()
+        if mango.has_text_service():
+            klass.db.create_text_index(ddoc="disable_index_array_lengths",
+                                       analyzer="keyword",
+                                       index_array_lengths=False)
+            klass.db.create_text_index(ddoc="explicit_enable_index_array_lengths",
+                                       analyzer="keyword",
+                                       index_array_lengths=True)
+
+    @unittest.skipUnless(mango.has_text_service(), "requires text service")
+    def test_disable_index_array_length(self):
+        docs = self.db.find({"favorites": {"$size": 4}},
+                            use_index="disable_index_array_lengths")
+        for d in docs:
+            assert len(d["favorites"]) == 0
+
+    @unittest.skipUnless(mango.has_text_service(), "requires text service")
+    def test_enable_index_array_length(self):
+        docs = self.db.find({"favorites": {"$size": 4}},
+                            use_index="explicit_enable_index_array_lengths")
+        for d in docs:
+            assert len(d["favorites"]) == 4

http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/090dc675/test/mango.py
----------------------------------------------------------------------
diff --git a/test/mango.py b/test/mango.py
index 5ca8367..09c45fc 100644
--- a/test/mango.py
+++ b/test/mango.py
@@ -104,7 +104,7 @@ class Database(object):
         return r.json()["result"] == "created"
 
     def create_text_index(self, analyzer=None, selector=None, idx_type="text",
-        default_field=None, fields=None, name=None, ddoc=None):
+        default_field=None, fields=None, name=None, ddoc=None,index_array_lengths=None):
         body = {
             "index": {
             },
@@ -117,6 +117,8 @@ class Database(object):
             body["index"]["default_analyzer"] = analyzer
         if default_field is not None:
             body["index"]["default_field"] = default_field
+        if index_array_lengths is not None:
+            body["index"]["index_array_lengths"] = index_array_lengths
         if selector is not None:
             body["selector"] = selector
         if fields is not None:


Mime
View raw message