async def test_preload_stream(hass, mock_stream): """Test camera preload preference.""" demo_prefs = CameraEntityPreferences({PREF_PRELOAD_STREAM: True}) with patch( "homeassistant.components.camera.request_stream" ) as mock_request_stream, patch( "homeassistant.components.camera.prefs.CameraPreferences.get", return_value=demo_prefs, ), patch( "homeassistant.components.demo.camera.DemoCamera.stream_source", return_value="http://example.com", ): await async_setup_component(hass, "camera", {DOMAIN: {"platform": "demo"}}) hass.bus.async_fire(EVENT_HOMEASSISTANT_START) await hass.async_block_till_done() assert mock_request_stream.called
async def test_no_preload_stream(hass, mock_stream): """Test camera preload preference.""" demo_prefs = CameraEntityPreferences({PREF_PRELOAD_STREAM: False}) with patch( "homeassistant.components.camera.request_stream" ) as mock_request_stream, patch( "homeassistant.components.camera.prefs.CameraPreferences.get", return_value=demo_prefs, ), patch( "homeassistant.components.demo.camera.DemoCamera.stream_source", new_callable=PropertyMock, ) as mock_stream_source: mock_stream_source.return_value = io.BytesIO() await async_setup_component(hass, "camera", {DOMAIN: {"platform": "demo"}}) hass.bus.async_fire(EVENT_HOMEASSISTANT_START) await hass.async_block_till_done() assert not mock_request_stream.called
async def test_preload_stream(hass, mock_stream): """Test camera preload preference.""" demo_prefs = CameraEntityPreferences({ PREF_PRELOAD_STREAM: True, }) with patch('homeassistant.components.camera.request_stream' ) as mock_request_stream, \ patch('homeassistant.components.camera.prefs.CameraPreferences.get', return_value=demo_prefs), \ patch('homeassistant.components.demo.camera.DemoCamera.stream_source', return_value=mock_coro("http://example.com")): await async_setup_component(hass, 'camera', {DOMAIN: { 'platform': 'demo' }}) hass.bus.async_fire(EVENT_HOMEASSISTANT_START) await hass.async_block_till_done() assert mock_request_stream.called