code: def test_retry_sessions_retries_on_conn_failure(self, request_mock):
      url = "http://mock.com/test.png"
  
      # requests_send_mock.side_effect =
      request_mock.side_effect = [
          IOError(),
          Mock(status=500, msg=HTTPMessage("test")),
          Mock(status=200, msg=HTTPMessage("test")),
      ]
      session = image_reader_get_retry_session(url)
  
      assert session.get(url).status_code == 200
  
file_path: responsible-ai-toolbox/responsibleai_vision/tests/test_image_utils.py
imports: from collections import Counter
  from http.client import HTTPMessage
  from math import isclose
  from unittest.mock import Mock, patch
  from urllib.parse import urlparse
  import numpy
  from common_vision_utils import load_fridge_object_detection_dataset
  from responsibleai_vision.common.constants import ImageColumns
  from responsibleai_vision.utils.image_reader import _get_retry_session
  from responsibleai_vision.utils.image_reader import _requests_sessions
  from responsibleai_vision.utils.image_reader import get_all_exif_feature_names
  from responsibleai_vision.utils.image_utils import BOTTOM_X, BOTTOM_Y, HEIGHT, IS_CROWD, TOP_X, TOP_Y, WIDTH, classes_to_dict, transform_object_detection_labels
label_desc: Use image node_id 3 for calling the TestImageUtils obj's underlying member method code with example usage: obj.test_retry_sessions_retries_on_conn_failure(request_mock) without return types