File tree Expand file tree Collapse file tree 5 files changed +22
-1
lines changed
homeassistant/components/cert_expiry
tests/components/cert_expiry Expand file tree Collapse file tree 5 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 1414from .const import DEFAULT_PORT , DOMAIN
1515from .errors import (
1616 ConnectionRefused ,
17+ ConnectionReset ,
1718 ConnectionTimeout ,
1819 ResolveFailed ,
1920 ValidationFailure ,
@@ -49,6 +50,8 @@ async def _test_connection(
4950 self ._errors [CONF_HOST ] = "connection_timeout"
5051 except ConnectionRefused :
5152 self ._errors [CONF_HOST ] = "connection_refused"
53+ except ConnectionReset :
54+ self ._errors [CONF_HOST ] = "connection_reset"
5255 except ValidationFailure :
5356 return True
5457 else :
Original file line number Diff line number Diff line change @@ -25,3 +25,7 @@ class ConnectionTimeout(TemporaryFailure):
2525
2626class ConnectionRefused (TemporaryFailure ):
2727 """Network connection refused."""
28+
29+
30+ class ConnectionReset (TemporaryFailure ):
31+ """Network connection reset."""
Original file line number Diff line number Diff line change 1313from .const import TIMEOUT
1414from .errors import (
1515 ConnectionRefused ,
16+ ConnectionReset ,
1617 ConnectionTimeout ,
1718 ResolveFailed ,
1819 ValidationFailure ,
@@ -58,6 +59,8 @@ async def get_cert_expiry_timestamp(
5859 raise ConnectionRefused (
5960 f"Connection refused by server: { hostname } :{ port } "
6061 ) from err
62+ except ConnectionResetError as err :
63+ raise ConnectionReset (f"Connection reset by server: { hostname } :{ port } " ) from err
6164 except ssl .CertificateError as err :
6265 raise ValidationFailure (err .verify_message ) from err
6366 except ssl .SSLError as err :
Original file line number Diff line number Diff line change 1414 "error" : {
1515 "resolve_failed" : " This host cannot be resolved" ,
1616 "connection_timeout" : " Timeout when connecting to this host" ,
17- "connection_refused" : " Connection refused when connecting to host"
17+ "connection_refused" : " Connection refused when connecting to host" ,
18+ "connection_reset" : " Connection reset when connecting to host"
1819 },
1920 "abort" : {
2021 "already_configured" : " [%key:common::config_flow::abort::already_configured_service%]" ,
Original file line number Diff line number Diff line change @@ -115,3 +115,13 @@ async def test_abort_on_socket_failed(hass: HomeAssistant) -> None:
115115 )
116116 assert result ["type" ] is FlowResultType .FORM
117117 assert result ["errors" ] == {CONF_HOST : "connection_refused" }
118+
119+ with patch (
120+ "homeassistant.components.cert_expiry.helper.async_get_cert" ,
121+ side_effect = ConnectionResetError ,
122+ ):
123+ result = await hass .config_entries .flow .async_configure (
124+ result ["flow_id" ], user_input = {CONF_HOST : HOST }
125+ )
126+ assert result ["type" ] is FlowResultType .FORM
127+ assert result ["errors" ] == {CONF_HOST : "connection_reset" }
You can’t perform that action at this time.
0 commit comments