diff --git a/tests/components/generic/sample1_animate.png b/tests/components/generic/sample1_animate.png new file mode 100644 index 00000000000..d59a744f735 Binary files /dev/null and b/tests/components/generic/sample1_animate.png differ diff --git a/tests/components/generic/sample2_jpeg_odd_header.jpg b/tests/components/generic/sample2_jpeg_odd_header.jpg new file mode 100644 index 00000000000..80372d4edd6 Binary files /dev/null and b/tests/components/generic/sample2_jpeg_odd_header.jpg differ diff --git a/tests/components/generic/sample3_jpeg_odd_header.jpg b/tests/components/generic/sample3_jpeg_odd_header.jpg new file mode 100644 index 00000000000..ecc18d7ad9e Binary files /dev/null and b/tests/components/generic/sample3_jpeg_odd_header.jpg differ diff --git a/tests/components/generic/sample4_K5-60mileAnim-320x240.gif b/tests/components/generic/sample4_K5-60mileAnim-320x240.gif new file mode 100644 index 00000000000..b6b3ba5eff5 Binary files /dev/null and b/tests/components/generic/sample4_K5-60mileAnim-320x240.gif differ diff --git a/tests/components/generic/test_config_flow.py b/tests/components/generic/test_config_flow.py index 7849e54c747..7e6c55dafff 100644 --- a/tests/components/generic/test_config_flow.py +++ b/tests/components/generic/test_config_flow.py @@ -1,6 +1,7 @@ """Test The generic (IP Camera) config flow.""" import errno +import os.path from unittest.mock import patch import av @@ -137,6 +138,30 @@ async def test_form_only_svg_whitespace(hass, fakeimgbytes_svg, user_flow): assert result2["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY +@respx.mock +@pytest.mark.parametrize( + "image_file", + [ + ("sample1_animate.png"), + ("sample2_jpeg_odd_header.jpg"), + ("sample3_jpeg_odd_header.jpg"), + ("sample4_K5-60mileAnim-320x240.gif"), + ], +) +async def test_form_only_still_sample(hass, user_flow, image_file): + """Test various sample images #69037.""" + image_path = os.path.join(os.path.dirname(__file__), image_file) + with open(image_path, "rb") as image: + respx.get("http://127.0.0.1/testurl/1").respond(stream=image.read()) + data = TESTDATA.copy() + data.pop(CONF_STREAM_SOURCE) + result2 = await hass.config_entries.flow.async_configure( + user_flow["flow_id"], + data, + ) + assert result2["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY + + @respx.mock async def test_form_rtsp_mode(hass, fakeimg_png, mock_av_open, user_flow): """Test we complete ok if the user enters a stream url."""