code: def test_call_chain_is_maintained(self):
      m = mock.Mock()
      m.test1().test2.test3().test4
  
      mock.seal(m)
      with self.assertRaises(AttributeError) as cm:
          m.test1().test2.test3().test4()
      self.assertIn(
          "mock.test1().test2.test3().test4", str(cm.exception)
      )
  
imports: import unittest
  from unittest import mock
label_desc: Use image node_id 18 for calling the TestSealable obj's underlying member method code with example usage: obj.test_call_chain_is_maintained() without return types