def _patched_ssdp_listener(info, *args, **kwargs): listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): await listener.async_callback(info) listener.async_start = _async_callback return listener
def _generate_failing_ssdp_listener(*args, **kwargs): create_args.append([args, kwargs]) listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): if kwargs["source_ip"] == IPv6Address("2001:db8::"): raise OSError pass listener.async_start = _async_callback listener.async_search = _callback return listener
def _generate_fake_ssdp_listener(*args, **kwargs): listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): pass @callback def _callback(*_): hass.async_create_task(listener.async_callback(mock_ssdp_response)) listener.async_start = _async_callback listener.async_search = _callback return listener
def _generate_fake_ssdp_listener(*args, **kwargs): create_args.append([args, kwargs]) listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): pass @callback def _callback(*_): pass listener.async_start = _async_callback listener.async_search = _callback return listener
def _patched_ssdp_listener(info, *args, **kwargs): listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): await listener.async_callback(info) @callback def _async_search(*_): # Prevent an actual scan. pass listener.async_start = _async_callback listener.async_search = _async_search return listener
def _generate_fake_ssdp_listener(*args, **kwargs): listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): pass @callback def _callback(*args): nonlocal search_args search_args.append(args) pass listener.async_start = _async_callback listener.async_search = _callback return listener
def _patched_ssdp_listener(info, *args, **kwargs): listener = SSDPListener(*args, **kwargs) async def _async_callback(*_): if kwargs["source_ip"] == IPv4Address(FAIL_TO_BIND_IP): raise OSError await listener.async_connect_callback() @callback def _async_search(*_): if info: asyncio.create_task(listener.async_callback(info)) listener.async_start = _async_callback listener.async_search = _async_search return listener