code: def test_md5_calculation_opens_file_with_rb(self):
      # This tests implementation :( . But since the issue this is addressing
      # could easily come back to bite us if a distracted coder tweaks the
      # implementation, I'm putting this here anyway.
      with patch(
          "streamlit.watcher.util.open", mock_open(read_data=b"hello")
      ) as m:
          util.calc_md5_with_blocking_retries("foo")
          m.assert_called_once_with("foo", "rb")
  
imports: import tempfile
  import unittest
  from unittest.mock import MagicMock, mock_open, patch
  from streamlit.watcher import util
label_desc: Use image node_id 5 for calling the UtilTest obj's underlying member method code with example usage: obj.test_md5_calculation_opens_file_with_rb() without return types