mirror of
https://github.com/python-kasa/python-kasa.git
synced 2025-05-30 21:51:24 +00:00
Raise kasa TimeoutError instead of _RetryableError on asyncio.TimeoutError
This commit is contained in:
parent
9fd2f28420
commit
546ae633f9
@ -23,6 +23,7 @@ from collections.abc import Generator
|
|||||||
|
|
||||||
from kasa.deviceconfig import DeviceConfig
|
from kasa.deviceconfig import DeviceConfig
|
||||||
from kasa.exceptions import KasaException, _RetryableError
|
from kasa.exceptions import KasaException, _RetryableError
|
||||||
|
from kasa.exceptions import TimeoutError as KasaTimeoutError
|
||||||
from kasa.json import loads as json_loads
|
from kasa.json import loads as json_loads
|
||||||
|
|
||||||
from .basetransport import BaseTransport
|
from .basetransport import BaseTransport
|
||||||
@ -128,7 +129,7 @@ class XorTransport(BaseTransport):
|
|||||||
await self._connect(self._timeout)
|
await self._connect(self._timeout)
|
||||||
except TimeoutError as ex:
|
except TimeoutError as ex:
|
||||||
await self.reset()
|
await self.reset()
|
||||||
raise _RetryableError(
|
raise KasaTimeoutError(
|
||||||
f"Timeout after {self._timeout} seconds connecting to the device:"
|
f"Timeout after {self._timeout} seconds connecting to the device:"
|
||||||
f" {self._host}:{self._port}: {ex}"
|
f" {self._host}:{self._port}: {ex}"
|
||||||
) from ex
|
) from ex
|
||||||
@ -167,7 +168,7 @@ class XorTransport(BaseTransport):
|
|||||||
return await self._execute_send(request)
|
return await self._execute_send(request)
|
||||||
except TimeoutError as ex:
|
except TimeoutError as ex:
|
||||||
await self.reset()
|
await self.reset()
|
||||||
raise _RetryableError(
|
raise KasaTimeoutError(
|
||||||
f"Timeout after {self._timeout} seconds sending request to the device"
|
f"Timeout after {self._timeout} seconds sending request to the device"
|
||||||
f" {self._host}:{self._port}: {ex}"
|
f" {self._host}:{self._port}: {ex}"
|
||||||
) from ex
|
) from ex
|
||||||
|
@ -16,7 +16,7 @@ import pytest
|
|||||||
from kasa.credentials import Credentials
|
from kasa.credentials import Credentials
|
||||||
from kasa.device import Device
|
from kasa.device import Device
|
||||||
from kasa.deviceconfig import DeviceConfig
|
from kasa.deviceconfig import DeviceConfig
|
||||||
from kasa.exceptions import KasaException, _RetryableError
|
from kasa.exceptions import KasaException, TimeoutError
|
||||||
from kasa.iot import IotDevice
|
from kasa.iot import IotDevice
|
||||||
from kasa.protocols.iotprotocol import IotProtocol, _deprecated_TPLinkSmartHomeProtocol
|
from kasa.protocols.iotprotocol import IotProtocol, _deprecated_TPLinkSmartHomeProtocol
|
||||||
from kasa.protocols.protocol import (
|
from kasa.protocols.protocol import (
|
||||||
@ -444,7 +444,7 @@ async def test_protocol_handles_timeout_failure_during_write(
|
|||||||
protocol = protocol_class(transport=transport_class(config=config))
|
protocol = protocol_class(transport=transport_class(config=config))
|
||||||
mocker.patch("asyncio.open_connection", side_effect=aio_mock_writer)
|
mocker.patch("asyncio.open_connection", side_effect=aio_mock_writer)
|
||||||
with pytest.raises(
|
with pytest.raises(
|
||||||
_RetryableError,
|
TimeoutError,
|
||||||
match="Timeout after 5 seconds sending request to the device 127.0.0.1:9999: Simulated timeout",
|
match="Timeout after 5 seconds sending request to the device 127.0.0.1:9999: Simulated timeout",
|
||||||
):
|
):
|
||||||
await protocol.query({})
|
await protocol.query({})
|
||||||
@ -490,7 +490,7 @@ async def test_protocol_handles_timeout_failure_during_connection(
|
|||||||
|
|
||||||
mocker.patch("asyncio.open_connection", side_effect=aio_mock_writer)
|
mocker.patch("asyncio.open_connection", side_effect=aio_mock_writer)
|
||||||
with pytest.raises(
|
with pytest.raises(
|
||||||
_RetryableError,
|
TimeoutError,
|
||||||
match="Timeout after 5 seconds connecting to the device: 127.0.0.1:9999: Simulated timeout",
|
match="Timeout after 5 seconds connecting to the device: 127.0.0.1:9999: Simulated timeout",
|
||||||
):
|
):
|
||||||
await protocol.query({})
|
await protocol.query({})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user