@@ -184,6 +184,40 @@ def test_release_close(self):
184
184
self .assertFalse (conn ._conns )
185
185
self .assertTrue (tr .close .called )
186
186
187
+ def test_release_dont_clean_conns (self ):
188
+ # see issue #253
189
+ conn = aiohttp .BaseConnector (loop = self .loop )
190
+ req = unittest .mock .Mock ()
191
+ resp = unittest .mock .Mock ()
192
+ resp .message .should_close = True
193
+ req .response = resp
194
+
195
+ key = ('127.0.0.1' , 80 , False )
196
+
197
+ tr , proto = unittest .mock .Mock (), unittest .mock .Mock ()
198
+ conn ._conns [key ] = [(tr , proto , 123 )]
199
+
200
+ conn ._release (key , req , tr , proto )
201
+ self .assertEqual ({key : [(tr , proto , 123 )]}, conn ._conns )
202
+ self .assertTrue (tr .close .called )
203
+
204
+ def test_release_pop_empty_conns (self ):
205
+ # see issue #253
206
+ conn = aiohttp .BaseConnector (loop = self .loop )
207
+ req = unittest .mock .Mock ()
208
+ resp = unittest .mock .Mock ()
209
+ resp .message .should_close = True
210
+ req .response = resp
211
+
212
+ key = ('127.0.0.1' , 80 , False )
213
+
214
+ conn ._conns [key ] = []
215
+
216
+ tr , proto = unittest .mock .Mock (), unittest .mock .Mock ()
217
+ conn ._release (key , req , tr , proto )
218
+ self .assertEqual ({}, conn ._conns )
219
+ self .assertTrue (tr .close .called )
220
+
187
221
def test_release_close_do_not_delete_existing_connections (self ):
188
222
key = 1
189
223
tr1 , proto1 = unittest .mock .Mock (), unittest .mock .Mock ()
0 commit comments