You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by to...@apache.org on 2015/09/11 18:13:58 UTC
[3/3] couchdb-mango git commit: Shorten tests
Shorten tests
COUCHDB-2787
Project: http://git-wip-us.apache.org/repos/asf/couchdb-mango/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mango/commit/87faac11
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mango/tree/87faac11
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mango/diff/87faac11
Branch: refs/heads/master
Commit: 87faac11d7c5c0fd99d5d0eae4d6263ab965d694
Parents: 2793b9f
Author: Tony Sun <to...@cloudant.com>
Authored: Thu Sep 10 11:34:45 2015 -0700
Committer: Tony Sun <to...@cloudant.com>
Committed: Fri Sep 11 09:14:54 2015 -0700
----------------------------------------------------------------------
.travis.yml | 2 +-
Makefile | 1 +
test/06-basic-text-test.py | 54 ++++++++++++-----------------------------
test/mango.py | 9 -------
4 files changed, 18 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/87faac11/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 04fdb33..2c6b2f0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@ before_install:
- cp -R ../src ./src/mango
- make
- cd ..
- - couchdb/dev/run -n 1 --with-admin-party-please &
+ - couchdb/dev/run -n 1 --admin=testuser:testpass &
- sleep 10
before_script:
http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/87faac11/Makefile
----------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index 8c136c1..1b2a504 100644
--- a/Makefile
+++ b/Makefile
@@ -46,6 +46,7 @@ test:
# target: pip-install - Installs requires Python packages
pip-install:
pip install nose requests
+ pip install hypothesis
.PHONY: venv
http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/87faac11/test/06-basic-text-test.py
----------------------------------------------------------------------
diff --git a/test/06-basic-text-test.py b/test/06-basic-text-test.py
index 53e9159..28c495a 100644
--- a/test/06-basic-text-test.py
+++ b/test/06-basic-text-test.py
@@ -14,9 +14,8 @@ import json
import mango
import unittest
import user_docs
-import copy
-import num_string_docs
-from hypothesis import given, assume
+import math
+from hypothesis import given, assume, example
import hypothesis.strategies as st
@unittest.skipIf(mango.has_text_service(), "text service exists")
@@ -565,45 +564,24 @@ class NumStringTests(mango.DbPerClass):
def setUpClass(klass):
super(NumStringTests, klass).setUpClass()
klass.db.recreate()
- klass.db.create_text_index()
+ if mango.has_text_service():
+ klass.db.create_text_index()
- def test_nan_val(self):
- doc = {"number_NaN": "NaN"}
- self.db.save_doc(doc)
- q = {"$text": "NaN"}
- docs = self.db.find(q)
- print docs
- assert docs[0]["number_NaN"] == "NaN"
-
- def test_infinity_val(self):
- doc = {"number_Infinity": "Infinity"}
- self.db.save_doc(doc)
- q = {"$text": "Infinity"}
- docs = self.db.find(q)
- assert docs[0]["number_Infinity"] == "Infinity"
-
- @given(float_point_string=st.floats().map(str))
- def test_floating_point_val(self,float_point_string):
- assume(float_point_string!="nan")
- doc = {"number_string": float_point_string}
- self.db.save_doc(doc)
- q = {"$text": float_point_string}
- docs = self.db.find(q)
- if len(docs) == 1:
- assert docs[0]["number_string"] == float_point_string
- if len(docs) == 2:
- if docs[0]["number_string"] != float_point_string:
- assert docs[1]["number_string"] == float_point_string
+ # not available for python 2.7.x
+ def isFinite(num):
+ not (math.isinf(num) or math.isnan(num))
- @given(f=st.floats())
+ @given(f=st.floats().filter(isFinite).map(str)
+ | st.floats().map(lambda f: f.hex()))
+ @example('NaN')
+ @example('Infinity')
def test_floating_point_val(self,f):
- hex_float_point_string = f.hex()
- doc = {"number_string": hex_float_point_string}
+ doc = {"number_string": f}
self.db.save_doc(doc)
- q = {"$text": hex_float_point_string}
+ q = {"$text": f}
docs = self.db.find(q)
if len(docs) == 1:
- assert docs[0]["number_string"] == hex_float_point_string
+ assert docs[0]["number_string"] == f
if len(docs) == 2:
- if docs[0]["number_string"] != hex_float_point_string:
- assert docs[1]["number_string"] == hex_float_point_string
+ if docs[0]["number_string"] != f:
+ assert docs[1]["number_string"] == f
http://git-wip-us.apache.org/repos/asf/couchdb-mango/blob/87faac11/test/mango.py
----------------------------------------------------------------------
diff --git a/test/mango.py b/test/mango.py
index 0487557..5ca8367 100644
--- a/test/mango.py
+++ b/test/mango.py
@@ -21,7 +21,6 @@ import requests
import friend_docs
import user_docs
import limit_docs
-import num_string_docs
def random_db_name():
@@ -242,11 +241,3 @@ class LimitDocsTextTests(DbPerClass):
super(LimitDocsTextTests, klass).setUpClass()
if has_text_service():
limit_docs.setup(klass.db, index_type="text")
-
-class NumStringDocsTextTests(DbPerClass):
-
- @classmethod
- def setUpClass(klass):
- super(NumStringDocsTextTests, klass).setUpClass()
- if has_text_service():
- num_string_docs.setup(klass.db, index_type="text")