@@ -35,7 +35,9 @@ async def es_data(es):
35
35
async def test_basic (es , mocker ):
36
36
mocker .spy (es .transport , 'perform_request' )
37
37
38
- docs = [d async for d in scan (es , size = 5 )]
38
+ docs = []
39
+ async for d in scan (es , size = 5 ):
40
+ docs .append (d )
39
41
assert len (docs ) == 8
40
42
assert {d ['_id' ] for d in docs } == set (map (str , range (1 , 9 )))
41
43
assert {d ['_source' ]['field' ] for d in docs } == set ('abcdefgh' )
@@ -56,14 +58,17 @@ async def _active_scrolls(es):
56
58
async def test_cleanup (es ):
57
59
assert await _active_scrolls (es ) == 0
58
60
59
- _ = [d async for d in scan (es , clear_scroll = True )]
61
+ async for _ in scan (es , clear_scroll = True ):
62
+ pass
60
63
assert await _active_scrolls (es ) == 0
61
64
62
- generator = scan (es , clear_scroll = False )
63
- _ = [d async for d in generator ]
64
- assert await _active_scrolls (es ) != 0
65
-
66
- await es .clear_scroll (scroll_id = generator ._scroll_id )
65
+ scroller = scan (es , clear_scroll = False )
66
+ try :
67
+ async for _ in scroller :
68
+ pass
69
+ assert await _active_scrolls (es ) != 0
70
+ finally :
71
+ await es .clear_scroll (scroll_id = scroller ._scroll_id )
67
72
68
73
69
74
async def test_scan_error (es , mocker ):
@@ -76,7 +81,9 @@ async def wrapper(*args, **kwargs):
76
81
return response
77
82
return wrapper
78
83
79
- res = [d async for d in scan (es )]
84
+ res = []
85
+ async for d in scan (es ):
86
+ res .append (d )
80
87
assert len (res ) == 8
81
88
82
89
warning_mock = mocker .patch ('elasticsearch_async.helpers.logger.warning' )
@@ -87,12 +94,15 @@ async def wrapper(*args, **kwargs):
87
94
)
88
95
89
96
with pytest .raises (ScanError ):
90
- _ = [d async for d in scan (es )]
97
+ async for _ in scan (es ):
98
+ pass
91
99
assert warning_mock .called
92
100
assert await _active_scrolls (es ) == 0
93
101
94
102
mocker .resetall ()
95
- res = [d async for d in scan (es , raise_on_error = False )]
103
+ res = []
104
+ async for d in scan (es , raise_on_error = False ):
105
+ res .append (d )
96
106
assert len (res ) == 8
97
107
assert warning_mock .called
98
108
assert await _active_scrolls (es ) == 0
0 commit comments