From 1382f7a3dc12423ffb2f9a38bd76a72a799ae222 Mon Sep 17 00:00:00 2001
From: Erik Montnemery <erik@montnemery.com>
Date: Tue, 30 Jul 2024 16:29:59 +0200
Subject: [PATCH] Fix generic IP camera tests affecting other tests (#122858)

---
 tests/components/generic/conftest.py         | 17 +++++++++++++----
 tests/components/generic/test_config_flow.py |  1 +
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tests/components/generic/conftest.py b/tests/components/generic/conftest.py
index 34062aab954..69e6cc6b696 100644
--- a/tests/components/generic/conftest.py
+++ b/tests/components/generic/conftest.py
@@ -2,6 +2,7 @@
 
 from __future__ import annotations
 
+from collections.abc import Generator
 from io import BytesIO
 from unittest.mock import AsyncMock, MagicMock, Mock, _patch, patch
 
@@ -51,15 +52,23 @@ def fakeimgbytes_gif() -> bytes:
 
 
 @pytest.fixture
-def fakeimg_png(fakeimgbytes_png: bytes) -> None:
+def fakeimg_png(fakeimgbytes_png: bytes) -> Generator[None]:
     """Set up respx to respond to test url with fake image bytes."""
-    respx.get("http://127.0.0.1/testurl/1").respond(stream=fakeimgbytes_png)
+    respx.get("http://127.0.0.1/testurl/1", name="fake_img").respond(
+        stream=fakeimgbytes_png
+    )
+    yield
+    respx.pop("fake_img")
 
 
 @pytest.fixture
-def fakeimg_gif(fakeimgbytes_gif: bytes) -> None:
+def fakeimg_gif(fakeimgbytes_gif: bytes) -> Generator[None]:
     """Set up respx to respond to test url with fake image bytes."""
-    respx.get("http://127.0.0.1/testurl/1").respond(stream=fakeimgbytes_gif)
+    respx.get("http://127.0.0.1/testurl/1", name="fake_img").respond(
+        stream=fakeimgbytes_gif
+    )
+    yield
+    respx.pop("fake_img")
 
 
 @pytest.fixture(scope="package")
diff --git a/tests/components/generic/test_config_flow.py b/tests/components/generic/test_config_flow.py
index 456e41a8d60..e7af9383791 100644
--- a/tests/components/generic/test_config_flow.py
+++ b/tests/components/generic/test_config_flow.py
@@ -638,6 +638,7 @@ async def test_form_stream_other_error(hass: HomeAssistant, user_flow) -> None:
 
 
 @respx.mock
+@pytest.mark.usefixtures("fakeimg_png")
 async def test_form_stream_worker_error(
     hass: HomeAssistant, user_flow: ConfigFlowResult
 ) -> None:
-- 
GitLab