Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 20cdb29

Browse files
authored
Merge pull request #265 from cloudant/fix-failing-tests
Fix failing tests
2 parents f0dc990 + 9d0baf8 commit 20cdb29

File tree

3 files changed

+50
-55
lines changed

3 files changed

+50
-55
lines changed

test-requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ mock==1.3.0
22
nose
33
sphinx
44
pylint
5+
flaky

tests/unit/database_tests.py

Lines changed: 46 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,35 +1449,24 @@ def test_get_search_result_executes_search_query(self):
14491449
limit=5,
14501450
include_docs=True
14511451
)
1452-
self.assertEqual(len(resp['rows']), 5)
1452+
self.assertEqual(5, len(resp['rows']))
14531453
self.assertTrue(resp['bookmark'])
1454-
resp.pop('bookmark')
1455-
for row in resp['rows']:
1456-
self.assertTrue(row['doc']['_rev'].startswith('1-'))
1457-
row['doc'].pop('_rev')
1458-
self.assertEqual(
1459-
resp,
1460-
{'rows': [{'fields': {'name': 'julia'}, 'doc': {'_id': 'julia000',
1461-
'age': 0,
1462-
'name': 'julia'},
1463-
'id': 'julia000', 'order': ['julia000', 0]},
1464-
{'fields': {'name': 'julia'}, 'doc': {'_id': 'julia001',
1465-
'age': 1,
1466-
'name': 'julia'},
1467-
'id': 'julia001', 'order': ['julia001', 0]},
1468-
{'fields': {'name': 'julia'},'doc': {'_id': 'julia002',
1469-
'age': 2,
1470-
'name': 'julia'},
1471-
'id': 'julia002', 'order': ['julia002', 0]},
1472-
{'fields': {'name': 'julia'}, 'doc': {'_id': 'julia003',
1473-
'age': 3,
1474-
'name': 'julia'},
1475-
'id': 'julia003', 'order': ['julia003', 0]},
1476-
{'fields': {'name': 'julia'},
1477-
'doc': {'_id': 'julia004', 'age': 4,
1478-
'name': 'julia'},
1479-
'id': 'julia004', 'order': ['julia004', 1]}], 'total_rows': 100}
1480-
)
1454+
1455+
for i, row in enumerate(resp['rows']):
1456+
doc_id = 'julia00{0}'.format(i)
1457+
1458+
self.assertEqual(doc_id, row['id'])
1459+
self.assertEqual('julia', row['fields']['name'])
1460+
1461+
# Note: The second element in the order array can be ignored. It is
1462+
# used for troubleshooting purposes only.
1463+
self.assertEqual(doc_id, row['order'][0])
1464+
1465+
doc = row['doc']
1466+
self.assertEqual(doc_id, doc['_id'])
1467+
self.assertTrue(doc['_rev'].startswith('1-'))
1468+
self.assertEqual(i, doc['age'])
1469+
self.assertEqual('julia', doc['name'])
14811470

14821471
def test_get_search_result_executes_search_q(self):
14831472
"""
@@ -1492,14 +1481,19 @@ def test_get_search_result_executes_search_q(self):
14921481
sort='_id<string>',
14931482
limit=1
14941483
)
1495-
self.assertEqual(len(resp['rows']), 1)
1484+
14961485
self.assertTrue(resp['bookmark'])
1497-
resp.pop('bookmark')
1498-
self.assertEqual(
1499-
resp,
1500-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia000',
1501-
'order': ['julia000', 0]}], 'total_rows': 100}
1502-
)
1486+
self.assertEqual(100, resp['total_rows'])
1487+
self.assertEqual(1, len(resp['rows']))
1488+
1489+
row = resp['rows'][0]
1490+
self.assertEqual('julia000', row['id'])
1491+
1492+
# Note: The second element in the order array can be ignored. It is
1493+
# used for troubleshooting purposes only.
1494+
self.assertEqual('julia000', row['order'][0])
1495+
1496+
self.assertEqual('julia', row['fields']['name'])
15031497

15041498
def test_get_search_result_executes_search_query_with_group_option(self):
15051499
"""
@@ -1517,26 +1511,23 @@ def test_get_search_result_executes_search_query_with_group_option(self):
15171511
)
15181512
# for group parameter options, 'rows' results are within 'groups' key
15191513
self.assertEqual(len(resp['groups']), 5)
1520-
self.assertEqual(
1521-
resp,
1522-
{'total_rows': 100, 'groups': [
1523-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia000',
1524-
'order': [1.0, 0]}], 'total_rows': 1,
1525-
'by': 'julia000'},
1526-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia001',
1527-
'order': [1.0, 0]}], 'total_rows': 1,
1528-
'by': 'julia001'},
1529-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia002',
1530-
'order': [1.0, 0]}], 'total_rows': 1,
1531-
'by': 'julia002'},
1532-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia003',
1533-
'order': [1.0, 0]}], 'total_rows': 1,
1534-
'by': 'julia003'},
1535-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia004',
1536-
'order': [1.0, 1]}], 'total_rows': 1,
1537-
'by': 'julia004'}
1538-
]}
1539-
)
1514+
1515+
for i, group in enumerate(resp['groups']):
1516+
by_id = 'julia00{0}'.format(i)
1517+
1518+
self.assertEqual(by_id, group['by'])
1519+
self.assertEqual(1, group['total_rows'])
1520+
self.assertEqual(1, len(group['rows']))
1521+
1522+
row = group['rows'][0]
1523+
self.assertEqual(by_id, row['id'])
1524+
self.assertEqual('julia', row['fields']['name'])
1525+
1526+
# Note: The second element in the order array can be ignored. It is
1527+
# used for troubleshooting purposes only.
1528+
self.assertEqual(1.0, row['order'][0])
1529+
1530+
self.assertEqual(100, resp['total_rows'])
15401531

15411532
if __name__ == '__main__':
15421533
unittest.main()

tests/unit/replicator_tests.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import time
2828
import requests
2929

30+
from flaky import flaky
31+
3032
from cloudant.replicator import Replicator
3133
from cloudant.document import Document
3234
from cloudant.error import CloudantReplicatorException, CloudantClientException
@@ -154,6 +156,7 @@ def test_replication_with_generated_id(self):
154156
clone = Replicator(self.client)
155157
clone.create_replication(self.db, self.target_db)
156158

159+
@flaky(max_runs=3)
157160
def test_create_replication(self):
158161
"""
159162
Test that the replication document gets created and that the

0 commit comments

Comments
 (0)