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

Commit f6728b3

Browse files
committed
Fix search tests
Ignore ordering of result dict.
1 parent 7cd22a2 commit f6728b3

File tree

1 file changed

+46
-55
lines changed

1 file changed

+46
-55
lines changed

tests/unit/database_tests.py

Lines changed: 46 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,35 +1411,24 @@ def test_get_search_result_executes_search_query(self):
14111411
limit=5,
14121412
include_docs=True
14131413
)
1414-
self.assertEqual(len(resp['rows']), 5)
1414+
self.assertEqual(5, len(resp['rows']))
14151415
self.assertTrue(resp['bookmark'])
1416-
resp.pop('bookmark')
1417-
for row in resp['rows']:
1418-
self.assertTrue(row['doc']['_rev'].startswith('1-'))
1419-
row['doc'].pop('_rev')
1420-
self.assertEqual(
1421-
resp,
1422-
{'rows': [{'fields': {'name': 'julia'}, 'doc': {'_id': 'julia000',
1423-
'age': 0,
1424-
'name': 'julia'},
1425-
'id': 'julia000', 'order': ['julia000', 0]},
1426-
{'fields': {'name': 'julia'}, 'doc': {'_id': 'julia001',
1427-
'age': 1,
1428-
'name': 'julia'},
1429-
'id': 'julia001', 'order': ['julia001', 0]},
1430-
{'fields': {'name': 'julia'},'doc': {'_id': 'julia002',
1431-
'age': 2,
1432-
'name': 'julia'},
1433-
'id': 'julia002', 'order': ['julia002', 0]},
1434-
{'fields': {'name': 'julia'}, 'doc': {'_id': 'julia003',
1435-
'age': 3,
1436-
'name': 'julia'},
1437-
'id': 'julia003', 'order': ['julia003', 0]},
1438-
{'fields': {'name': 'julia'},
1439-
'doc': {'_id': 'julia004', 'age': 4,
1440-
'name': 'julia'},
1441-
'id': 'julia004', 'order': ['julia004', 1]}], 'total_rows': 100}
1442-
)
1416+
1417+
for i, row in enumerate(resp['rows']):
1418+
doc_id = 'julia00{0}'.format(i)
1419+
1420+
self.assertEqual(doc_id, row['id'])
1421+
self.assertEqual('julia', row['fields']['name'])
1422+
1423+
# Note: The second element in the order array can be ignored. It is
1424+
# used for troubleshooting purposes only.
1425+
self.assertEqual(doc_id, row['order'][0])
1426+
1427+
doc = row['doc']
1428+
self.assertEqual(doc_id, doc['_id'])
1429+
self.assertTrue(doc['_rev'].startswith('1-'))
1430+
self.assertEqual(i, doc['age'])
1431+
self.assertEqual('julia', doc['name'])
14431432

14441433
def test_get_search_result_executes_search_q(self):
14451434
"""
@@ -1454,14 +1443,19 @@ def test_get_search_result_executes_search_q(self):
14541443
sort='_id<string>',
14551444
limit=1
14561445
)
1457-
self.assertEqual(len(resp['rows']), 1)
1446+
14581447
self.assertTrue(resp['bookmark'])
1459-
resp.pop('bookmark')
1460-
self.assertEqual(
1461-
resp,
1462-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia000',
1463-
'order': ['julia000', 0]}], 'total_rows': 100}
1464-
)
1448+
self.assertEqual(100, resp['total_rows'])
1449+
self.assertEqual(1, len(resp['rows']))
1450+
1451+
row = resp['rows'][0]
1452+
self.assertEqual('julia000', row['id'])
1453+
1454+
# Note: The second element in the order array can be ignored. It is
1455+
# used for troubleshooting purposes only.
1456+
self.assertEqual('julia000', row['order'][0])
1457+
1458+
self.assertEqual('julia', row['fields']['name'])
14651459

14661460
def test_get_search_result_executes_search_query_with_group_option(self):
14671461
"""
@@ -1479,26 +1473,23 @@ def test_get_search_result_executes_search_query_with_group_option(self):
14791473
)
14801474
# for group parameter options, 'rows' results are within 'groups' key
14811475
self.assertEqual(len(resp['groups']), 5)
1482-
self.assertEqual(
1483-
resp,
1484-
{'total_rows': 100, 'groups': [
1485-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia000',
1486-
'order': [1.0, 0]}], 'total_rows': 1,
1487-
'by': 'julia000'},
1488-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia001',
1489-
'order': [1.0, 0]}], 'total_rows': 1,
1490-
'by': 'julia001'},
1491-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia002',
1492-
'order': [1.0, 0]}], 'total_rows': 1,
1493-
'by': 'julia002'},
1494-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia003',
1495-
'order': [1.0, 0]}], 'total_rows': 1,
1496-
'by': 'julia003'},
1497-
{'rows': [{'fields': {'name': 'julia'}, 'id': 'julia004',
1498-
'order': [1.0, 1]}], 'total_rows': 1,
1499-
'by': 'julia004'}
1500-
]}
1501-
)
1476+
1477+
for i, group in enumerate(resp['groups']):
1478+
by_id = 'julia00{0}'.format(i)
1479+
1480+
self.assertEqual(by_id, group['by'])
1481+
self.assertEqual(1, group['total_rows'])
1482+
self.assertEqual(1, len(group['rows']))
1483+
1484+
row = group['rows'][0]
1485+
self.assertEqual(by_id, row['id'])
1486+
self.assertEqual('julia', row['fields']['name'])
1487+
1488+
# Note: The second element in the order array can be ignored. It is
1489+
# used for troubleshooting purposes only.
1490+
self.assertEqual(1.0, row['order'][0])
1491+
1492+
self.assertEqual(100, resp['total_rows'])
15021493

15031494
if __name__ == '__main__':
15041495
unittest.main()

0 commit comments

Comments
 (0)