From cf8918bf19efdd11689b85a89a5f766c68fa192b Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Fri, 2 Oct 2026 20:54:52 +0200 Subject: [PATCH] minecraft_server: initialize mcstatus' objects using `raw` data (#181340) --- .../components/minecraft_server/manifest.json | 2 +- requirements_all.txt | 2 +- tests/components/minecraft_server/const.py | 71 ++++++++++--------- 3 files changed, 39 insertions(+), 36 deletions(-) diff --git a/homeassistant/components/minecraft_server/manifest.json b/homeassistant/components/minecraft_server/manifest.json index 9cac9f7a0149..8360b50f9c5c 100644 --- a/homeassistant/components/minecraft_server/manifest.json +++ b/homeassistant/components/minecraft_server/manifest.json @@ -8,5 +8,5 @@ "iot_class": "local_polling", "loggers": ["dnspython", "mcstatus"], "quality_scale": "silver", - "requirements": ["mcstatus==13.1.0"] + "requirements": ["mcstatus==14.2.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index a5e8c137532a..eb99e377a418 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1591,7 +1591,7 @@ mbddns==0.1.2 mcp==1.28.1 # homeassistant.components.minecraft_server -mcstatus==13.1.0 +mcstatus==14.2.0 # homeassistant.components.meater meater-python==0.0.8 diff --git a/tests/components/minecraft_server/const.py b/tests/components/minecraft_server/const.py index 4447a6fe37e8..83a12f99f47d 100644 --- a/tests/components/minecraft_server/const.py +++ b/tests/components/minecraft_server/const.py @@ -1,17 +1,9 @@ """Constants for Minecraft Server integration tests.""" -from mcstatus.motd import Motd from mcstatus.responses import ( - BedrockStatusPlayers, BedrockStatusResponse, - BedrockStatusVersion, - JavaStatusPlayer, - JavaStatusPlayers, JavaStatusResponse, - JavaStatusVersion, - LegacyStatusPlayers, LegacyStatusResponse, - LegacyStatusVersion, ) from homeassistant.components.minecraft_server.api import MinecraftServerData @@ -21,23 +13,24 @@ TEST_HOST = "mc.dummyserver.com" TEST_PORT = 25566 TEST_ADDRESS = f"{TEST_HOST}:{TEST_PORT}" -TEST_JAVA_STATUS_RESPONSE = JavaStatusResponse( - raw={"foo": "bar"}, - players=JavaStatusPlayers( - online=3, - max=10, - sample=[ - JavaStatusPlayer(id="1", name="Player 1"), - JavaStatusPlayer(id="2", name="Player 2"), - JavaStatusPlayer(id="3", name="Player 3"), - ], - ), - version=JavaStatusVersion(name="Dummy Version", protocol=123), - motd=Motd.parse("Dummy MOTD", bedrock=False), - icon=None, - enforces_secure_chat=False, +TEST_JAVA_STATUS_RESPONSE = JavaStatusResponse.build( + { + "players": { + "online": 3, + "max": 10, + "sample": [ + {"id": "1", "name": "Player 1"}, + {"id": "2", "name": "Player 2"}, + {"id": "3", "name": "Player 3"}, + ], + }, + "version": { + "name": "Dummy Version", + "protocol": 123, + }, + "description": "Dummy MOTD", + }, latency=5, - forge_data=None, ) TEST_JAVA_DATA = MinecraftServerData( @@ -53,13 +46,19 @@ TEST_JAVA_DATA = MinecraftServerData( map_name=None, ) -TEST_BEDROCK_STATUS_RESPONSE = BedrockStatusResponse( - players=BedrockStatusPlayers(online=3, max=10), - version=BedrockStatusVersion(brand="MCPE", name="Dummy Version", protocol=123), - motd=Motd.parse("Dummy MOTD", bedrock=True), +TEST_BEDROCK_STATUS_RESPONSE = BedrockStatusResponse.build( + [ + "MCPE", # version.brand + "Dummy MOTD", # motd + "123", # version.protocol + "Dummy Version", # version.name + "3", # players.online + "10", # players.max + "Dummy Server ID", # server unique ID + "Dummy Map Name", # map_name + "Dummy Game Mode", # gamemode + ], latency=5, - gamemode="Dummy Game Mode", - map_name="Dummy Map Name", ) TEST_BEDROCK_DATA = MinecraftServerData( @@ -75,9 +74,13 @@ TEST_BEDROCK_DATA = MinecraftServerData( map_name="Dummy Map Name", ) -TEST_LEGACY_JAVA_STATUS_RESPONSE = LegacyStatusResponse( - players=LegacyStatusPlayers(online=3, max=10), - version=LegacyStatusVersion(name="1.6.4", protocol=78), - motd=Motd.parse("Dummy MOTD"), +TEST_LEGACY_JAVA_STATUS_RESPONSE = LegacyStatusResponse.build( + [ + "78", # version.protocol + "1.6.4", # version.name + "Dummy MOTD", # motd + "3", # players online + "10", # players max + ], latency=5, )