@@ -30,7 +30,7 @@ def test_watch_with_decode(self):
30
30
fake_resp = Mock ()
31
31
fake_resp .close = Mock ()
32
32
fake_resp .release_conn = Mock ()
33
- fake_resp .read_chunked = Mock (
33
+ fake_resp .stream = Mock (
34
34
return_value = [
35
35
'{"type": "ADDED", "object": {"metadata": {"name": "test1",'
36
36
'"resourceVersion": "1"}, "spec": {}, "status": {}}}\n ' ,
@@ -63,15 +63,16 @@ def test_watch_with_decode(self):
63
63
64
64
fake_api .get_namespaces .assert_called_once_with (
65
65
_preload_content = False , watch = True )
66
- fake_resp .read_chunked .assert_called_once_with (decode_content = False )
66
+ fake_resp .stream .assert_called_once_with (
67
+ amt = None , decode_content = False )
67
68
fake_resp .close .assert_called_once ()
68
69
fake_resp .release_conn .assert_called_once ()
69
70
70
71
def test_watch_for_follow (self ):
71
72
fake_resp = Mock ()
72
73
fake_resp .close = Mock ()
73
74
fake_resp .release_conn = Mock ()
74
- fake_resp .read_chunked = Mock (
75
+ fake_resp .stream = Mock (
75
76
return_value = [
76
77
'log_line_1\n ' ,
77
78
'log_line_2\n ' ])
@@ -92,7 +93,8 @@ def test_watch_for_follow(self):
92
93
93
94
fake_api .read_namespaced_pod_log .assert_called_once_with (
94
95
_preload_content = False , follow = True )
95
- fake_resp .read_chunked .assert_called_once_with (decode_content = False )
96
+ fake_resp .stream .assert_called_once_with (
97
+ amt = None , decode_content = False )
96
98
fake_resp .close .assert_called_once ()
97
99
fake_resp .release_conn .assert_called_once ()
98
100
@@ -112,6 +114,7 @@ def test_watch_resource_version_set(self):
112
114
'{"type": "ADDED", "object": {"metadata": {"name": "test3",'
113
115
'"resourceVersion": "3"}, "spec": {}, "status": {}}}\n '
114
116
]
117
+
115
118
# return nothing on the first call and values on the second
116
119
# this emulates a watch from a rv that returns nothing in the first k8s
117
120
# watch reset and values later
@@ -123,7 +126,7 @@ def get_values(*args, **kwargs):
123
126
else :
124
127
return values
125
128
126
- fake_resp .read_chunked = Mock (
129
+ fake_resp .stream = Mock (
127
130
side_effect = get_values )
128
131
129
132
fake_api = Mock ()
@@ -170,7 +173,7 @@ def test_watch_stream_twice(self):
170
173
fake_resp = Mock ()
171
174
fake_resp .close = Mock ()
172
175
fake_resp .release_conn = Mock ()
173
- fake_resp .read_chunked = Mock (
176
+ fake_resp .stream = Mock (
174
177
return_value = ['{"type": "ADDED", "object": 1}\n ' ] * 4 )
175
178
176
179
fake_api = Mock ()
@@ -186,8 +189,8 @@ def test_watch_stream_twice(self):
186
189
self .assertEqual (count , 3 )
187
190
fake_api .get_namespaces .assert_called_once_with (
188
191
_preload_content = False , watch = True )
189
- fake_resp .read_chunked .assert_called_once_with (
190
- decode_content = False )
192
+ fake_resp .stream .assert_called_once_with (
193
+ amt = None , decode_content = False )
191
194
fake_resp .close .assert_called_once ()
192
195
fake_resp .release_conn .assert_called_once ()
193
196
@@ -197,7 +200,7 @@ def test_watch_stream_loop(self):
197
200
fake_resp = Mock ()
198
201
fake_resp .close = Mock ()
199
202
fake_resp .release_conn = Mock ()
200
- fake_resp .read_chunked = Mock (
203
+ fake_resp .stream = Mock (
201
204
return_value = ['{"type": "ADDED", "object": 1}\n ' ])
202
205
203
206
fake_api = Mock ()
@@ -219,7 +222,7 @@ def test_watch_stream_loop(self):
219
222
220
223
self .assertEqual (count , 2 )
221
224
self .assertEqual (fake_api .get_namespaces .call_count , 2 )
222
- self .assertEqual (fake_resp .read_chunked .call_count , 2 )
225
+ self .assertEqual (fake_resp .stream .call_count , 2 )
223
226
self .assertEqual (fake_resp .close .call_count , 2 )
224
227
self .assertEqual (fake_resp .release_conn .call_count , 2 )
225
228
@@ -256,7 +259,7 @@ def test_watch_with_exception(self):
256
259
fake_resp = Mock ()
257
260
fake_resp .close = Mock ()
258
261
fake_resp .release_conn = Mock ()
259
- fake_resp .read_chunked = Mock (side_effect = KeyError ('expected' ))
262
+ fake_resp .stream = Mock (side_effect = KeyError ('expected' ))
260
263
261
264
fake_api = Mock ()
262
265
fake_api .get_thing = Mock (return_value = fake_resp )
@@ -271,15 +274,16 @@ def test_watch_with_exception(self):
271
274
272
275
fake_api .get_thing .assert_called_once_with (
273
276
_preload_content = False , watch = True )
274
- fake_resp .read_chunked .assert_called_once_with (decode_content = False )
277
+ fake_resp .stream .assert_called_once_with (
278
+ amt = None , decode_content = False )
275
279
fake_resp .close .assert_called_once ()
276
280
fake_resp .release_conn .assert_called_once ()
277
281
278
282
def test_watch_with_error_event (self ):
279
283
fake_resp = Mock ()
280
284
fake_resp .close = Mock ()
281
285
fake_resp .release_conn = Mock ()
282
- fake_resp .read_chunked = Mock (
286
+ fake_resp .stream = Mock (
283
287
return_value = [
284
288
'{"type": "ERROR", "object": {"code": 410, '
285
289
'"reason": "Gone", "message": "error message"}}\n ' ])
@@ -294,15 +298,16 @@ def test_watch_with_error_event(self):
294
298
295
299
fake_api .get_thing .assert_called_once_with (
296
300
_preload_content = False , watch = True )
297
- fake_resp .read_chunked .assert_called_once_with (decode_content = False )
301
+ fake_resp .stream .assert_called_once_with (
302
+ amt = None , decode_content = False )
298
303
fake_resp .close .assert_called_once ()
299
304
fake_resp .release_conn .assert_called_once ()
300
305
301
306
def test_watch_retries_on_error_event (self ):
302
307
fake_resp = Mock ()
303
308
fake_resp .close = Mock ()
304
309
fake_resp .release_conn = Mock ()
305
- fake_resp .read_chunked = Mock (
310
+ fake_resp .stream = Mock (
306
311
return_value = [
307
312
'{"type": "ERROR", "object": {"code": 410, '
308
313
'"reason": "Gone", "message": "error message"}}\n ' ])
@@ -320,16 +325,16 @@ def test_watch_retries_on_error_event(self):
320
325
# Two calls should be expected during a retry
321
326
fake_api .get_thing .assert_has_calls (
322
327
[call (resource_version = 0 , _preload_content = False , watch = True )] * 2 )
323
- fake_resp .read_chunked .assert_has_calls (
324
- [call (decode_content = False )] * 2 )
328
+ fake_resp .stream .assert_has_calls (
329
+ [call (amt = None , decode_content = False )] * 2 )
325
330
assert fake_resp .close .call_count == 2
326
331
assert fake_resp .release_conn .call_count == 2
327
332
328
333
def test_watch_with_error_event_and_timeout_param (self ):
329
334
fake_resp = Mock ()
330
335
fake_resp .close = Mock ()
331
336
fake_resp .release_conn = Mock ()
332
- fake_resp .read_chunked = Mock (
337
+ fake_resp .stream = Mock (
333
338
return_value = [
334
339
'{"type": "ERROR", "object": {"code": 410, '
335
340
'"reason": "Gone", "message": "error message"}}\n ' ])
@@ -346,7 +351,8 @@ def test_watch_with_error_event_and_timeout_param(self):
346
351
347
352
fake_api .get_thing .assert_called_once_with (
348
353
_preload_content = False , watch = True , timeout_seconds = 10 )
349
- fake_resp .read_chunked .assert_called_once_with (decode_content = False )
354
+ fake_resp .stream .assert_called_once_with (
355
+ amt = None , decode_content = False )
350
356
fake_resp .close .assert_called_once ()
351
357
fake_resp .release_conn .assert_called_once ()
352
358
0 commit comments