def test_get_and_remove_conn(self): ''' Each requested connection must be closed by calling 'remove_connection' when the server doesn't support persistent HTTP Connections ''' kah = self.kahdler host = self.host conn = self.conn req = self.req ## Start recording ## method(req, 'get_host').expects().returns(host) method(req, 'get_full_url').expects().returns('test_full_url') # Override KeepAliveHandler._start_transaction override(kah, '_start_transaction').expects(conn, req).returns(None) conn_factory = kah._get_connection # Mock conn's getresponse() resp = HTTPResponse(socket.socket()) resp.will_close = True override(conn, 'getresponse').expects().returns(resp) # The connection mgr conn_mgr_mock = self.mock() method(conn_mgr_mock, 'get_available_connection').expects(host, conn_factory).returns(conn) method(conn_mgr_mock, 'remove_connection').expects(conn, host).returns(None) ## Stop Recording.Time to Play! ## self.replay() # Replace with mocked out ConnMgr. kah._cm = conn_mgr_mock kah.do_open(req) ## Verify ## self.verify()
def test_get_and_remove_conn(self): ''' Each requested connection must be closed by calling 'remove_connection' when the server doesn't support persistent HTTP Connections ''' kah = self.kahdler host = self.host conn = self.conn req = self.req req.get_host = MagicMock(return_value=host) req.get_full_url = MagicMock(return_value='test_full_url') # Override KeepAliveHandler._start_transaction kah._start_transaction = MagicMock(return_value=None) conn_factory = kah._get_connection # Mock conn's getresponse() resp = HTTPResponse(socket.socket()) resp.will_close = True conn.getresponse = MagicMock(return_value=resp) # The connection mgr conn_mgr_mock = Mock() conn_mgr_mock.get_available_connection = MagicMock(return_value=conn) conn_mgr_mock.remove_connection = MagicMock(return_value=None) # Replace with mocked out ConnMgr. kah._cm = conn_mgr_mock kah.do_open(req) ## Verify ## kah._start_transaction.assert_called_once_with(conn, req) conn_mgr_mock.get_available_connection.assert_called_once_with( host, conn_factory) conn_mgr_mock.remove_connection.assert_called_once_with(conn, host)