19 lines
556 B
Python
19 lines
556 B
Python
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
|