'Tests handling of a retryable exception'

def test_retryable_exception_recovery(self):

    exception = ResumableUploadHandler.RETRYABLE_EXCEPTIONS[0]
    harness = CallbackTestHarness(exception=exception)
    res_upload_handler = ResumableUploadHandler(num_retries=1)
    (small_src_file_as_string, small_src_file) = self.make_small_file()
    small_src_file.seek(0)
    dst_key = self._MakeKey(set_contents=False)
    dst_key.set_contents_from_file(small_src_file, cb=harness.call, res_upload_handler=res_upload_handler)
    self.assertEqual(SMALL_KEY_SIZE, dst_key.size)
    self.assertEqual(small_src_file_as_string, dst_key.get_contents_as_string())
