diff --git a/homeassistant/components/roku/manifest.json b/homeassistant/components/roku/manifest.json
index 276fe2332f5..a5bed4530a8 100644
--- a/homeassistant/components/roku/manifest.json
+++ b/homeassistant/components/roku/manifest.json
@@ -2,7 +2,7 @@
"domain": "roku",
"name": "Roku",
"documentation": "https://www.home-assistant.io/integrations/roku",
- "requirements": ["rokuecp==0.4.2"],
+ "requirements": ["rokuecp==0.5.0"],
"ssdp": [
{
"st": "roku:ecp",
diff --git a/requirements_all.txt b/requirements_all.txt
index ac3981f3ea3..41be4d3c5c2 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -1890,7 +1890,7 @@ rjpl==0.3.5
rocketchat-API==0.6.1
# homeassistant.components.roku
-rokuecp==0.4.2
+rokuecp==0.5.0
# homeassistant.components.roomba
roombapy==1.6.1
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index 50feabcaead..b250164138e 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -802,7 +802,7 @@ rflink==0.0.52
ring_doorbell==0.6.0
# homeassistant.components.roku
-rokuecp==0.4.2
+rokuecp==0.5.0
# homeassistant.components.roomba
roombapy==1.6.1
diff --git a/tests/components/roku/__init__.py b/tests/components/roku/__init__.py
index e3c4c8ce27c..695575ddb36 100644
--- a/tests/components/roku/__init__.py
+++ b/tests/components/roku/__init__.py
@@ -33,6 +33,7 @@ def mock_connection(
app: str = "roku",
host: str = HOST,
power: bool = True,
+ media_state: str = "close",
error: bool = False,
server_error: bool = False,
) -> None:
@@ -89,6 +90,12 @@ def mock_connection(
headers={"Content-Type": "text/xml"},
)
+ aioclient_mock.get(
+ f"{roku_url}/query/media-player",
+ text=load_fixture(f"roku/media-player-{media_state}.xml"),
+ headers={"Content-Type": "text/xml"},
+ )
+
aioclient_mock.post(
re.compile(f"{roku_url}/keypress/.*"), text="OK",
)
@@ -145,6 +152,7 @@ async def setup_integration(
unique_id: str = UPNP_SERIAL,
error: bool = False,
power: bool = True,
+ media_state: str = "close",
server_error: bool = False,
skip_entry_setup: bool = False,
) -> MockConfigEntry:
@@ -161,6 +169,7 @@ async def setup_integration(
host=host,
error=error,
power=power,
+ media_state=media_state,
server_error=server_error,
)
await hass.config_entries.async_setup(entry.entry_id)
diff --git a/tests/fixtures/roku/active-app-pluto.xml b/tests/fixtures/roku/active-app-pluto.xml
new file mode 100644
index 00000000000..cb3b85dc51c
--- /dev/null
+++ b/tests/fixtures/roku/active-app-pluto.xml
@@ -0,0 +1,4 @@
+
+
+ Pluto TV - It's Free TV
+
diff --git a/tests/fixtures/roku/apps-tv.xml b/tests/fixtures/roku/apps-tv.xml
index 93452c22235..e5862268d90 100644
--- a/tests/fixtures/roku/apps-tv.xml
+++ b/tests/fixtures/roku/apps-tv.xml
@@ -10,4 +10,5 @@
Free FrameChannel Service
Mediafly
Pandora
+ Pluto TV - It's Free TV
diff --git a/tests/fixtures/roku/apps.xml b/tests/fixtures/roku/apps.xml
index 416da25091e..477304c09e8 100644
--- a/tests/fixtures/roku/apps.xml
+++ b/tests/fixtures/roku/apps.xml
@@ -7,4 +7,5 @@
Free FrameChannel Service
Mediafly
Pandora
+ Pluto TV - It's Free TV
diff --git a/tests/fixtures/roku/media-player-close.xml b/tests/fixtures/roku/media-player-close.xml
new file mode 100644
index 00000000000..0f542941d8c
--- /dev/null
+++ b/tests/fixtures/roku/media-player-close.xml
@@ -0,0 +1,5 @@
+
+
+
+ false
+
diff --git a/tests/fixtures/roku/media-player-live.xml b/tests/fixtures/roku/media-player-live.xml
new file mode 100644
index 00000000000..62d819f228c
--- /dev/null
+++ b/tests/fixtures/roku/media-player-live.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ 73313 ms
+ 95000 ms
+ true
+ 25106 ms
+
+
diff --git a/tests/fixtures/roku/media-player-pause.xml b/tests/fixtures/roku/media-player-pause.xml
new file mode 100644
index 00000000000..a771208ef57
--- /dev/null
+++ b/tests/fixtures/roku/media-player-pause.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ 313813 ms
+ 6496762 ms
+ false
+ 15000 ms
+
+
diff --git a/tests/fixtures/roku/media-player-play.xml b/tests/fixtures/roku/media-player-play.xml
new file mode 100644
index 00000000000..eceb3ce59a2
--- /dev/null
+++ b/tests/fixtures/roku/media-player-play.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ 38813 ms
+ 6496762 ms
+ false
+ 15000 ms
+
+