@@ -409,7 +409,7 @@ async def test_update_ws_connection_failure(
409
409
patch .object (
410
410
remote_websocket ,
411
411
"start_listening" ,
412
- side_effect = ConnectionFailure (' {"event": "ms.voiceApp.hide"}' ),
412
+ side_effect = ConnectionFailure ({"event" : "ms.voiceApp.hide" }),
413
413
),
414
414
patch .object (remote_websocket , "is_alive" , return_value = False ),
415
415
):
@@ -419,14 +419,45 @@ async def test_update_ws_connection_failure(
419
419
420
420
assert (
421
421
"Unexpected ConnectionFailure trying to get remote for fake_host, please "
422
- ' report this issue: ConnectionFailure(\' {" event": " ms.voiceApp.hide"} \' )'
422
+ " report this issue: ConnectionFailure({' event': ' ms.voiceApp.hide'})"
423
423
in caplog .text
424
424
)
425
425
426
426
state = hass .states .get (ENTITY_ID )
427
427
assert state .state == STATE_OFF
428
428
429
429
430
+ @pytest .mark .usefixtures ("rest_api" )
431
+ async def test_update_ws_connection_failure_channel_timeout (
432
+ hass : HomeAssistant ,
433
+ freezer : FrozenDateTimeFactory ,
434
+ remote_websocket : Mock ,
435
+ caplog : pytest .LogCaptureFixture ,
436
+ ) -> None :
437
+ """Testing update tv connection failure exception."""
438
+ await setup_samsungtv_entry (hass , MOCK_CONFIGWS )
439
+
440
+ with (
441
+ patch .object (
442
+ remote_websocket ,
443
+ "start_listening" ,
444
+ side_effect = ConnectionFailure ({"event" : "ms.channel.timeOut" }),
445
+ ),
446
+ patch .object (remote_websocket , "is_alive" , return_value = False ),
447
+ ):
448
+ freezer .tick (timedelta (minutes = 5 ))
449
+ async_fire_time_changed (hass )
450
+ await hass .async_block_till_done (wait_background_tasks = True )
451
+
452
+ assert (
453
+ "Channel timeout occurred trying to get remote for fake_host: "
454
+ "ConnectionFailure({'event': 'ms.channel.timeOut'})" in caplog .text
455
+ )
456
+
457
+ state = hass .states .get (ENTITY_ID )
458
+ assert state .state == STATE_OFF
459
+
460
+
430
461
@pytest .mark .usefixtures ("rest_api" )
431
462
async def test_update_ws_connection_closed (
432
463
hass : HomeAssistant , freezer : FrozenDateTimeFactory , remote_websocket : Mock
0 commit comments