code: def assert_wrapper(__wrapped_mock_method__, *args, **kwargs):
      __tracebackhide__ = True
      try:
          __wrapped_mock_method__(*args, **kwargs)
          return
      except AssertionError as e:
          if getattr(e, "_mock_introspection_applied", 0):
              msg = text_type(e)
          else:
              __mock_self = args[0]
              msg = text_type(e)
              if __mock_self.call_args is not None:
                  actual_args, actual_kwargs = __mock_self.call_args
                  introspection = ""
                  try:
                      assert actual_args == args[1:]
                  except AssertionError as e:
                      introspection += "\nArgs:\n" + text_type(e)
                  try:
                      assert actual_kwargs == kwargs
                  except AssertionError as e:
                      introspection += "\nKwargs:\n" + text_type(e)
  
                  if introspection:
                      msg += (
                          "\n\npytest introspection follows:\n"
                          + introspection
                      )
      e = AssertionError(msg)
      e._mock_introspection_applied = True
      raise e
  
imports: from __future__ import unicode_literals
  import functools
  import inspect
  import sys
  import pytest
  import six
  from ._version import version
label_desc: Use image node_id 3 for calling a global function with example usage: assert_wrapper(__wrapped_mock_method__) without return types