from typing import Protocol, runtime_checkable from unittest.mock import MagicMock from yuxi.channel.ports import SecurityPort @runtime_checkable class MyPort(Protocol): def foo(self, x: int) -> str: ... def test_magicmock_is_security_port(): m = MagicMock() print("hasattr resolve_dm_policy:", hasattr(m, "resolve_dm_policy")) print("callable resolve_dm_policy:", callable(m.resolve_dm_policy)) print("isinstance SecurityPort:", isinstance(m, SecurityPort)) print("isinstance MyPort:", isinstance(m, MyPort)) assert False