mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Skip check for onboarding done in Music Assistant integration (#158270)
This commit is contained in:
committed by
GitHub
parent
33e09c4967
commit
42e55491cc
@@ -163,9 +163,6 @@ class MusicAssistantConfigFlow(ConfigFlow, domain=DOMAIN):
|
||||
LOGGER.exception("Unexpected exception during add-on discovery")
|
||||
return self.async_abort(reason="unknown")
|
||||
|
||||
if not server_info.onboard_done:
|
||||
return self.async_abort(reason="server_not_ready")
|
||||
|
||||
# We trust the token from hassio discovery and validate it during setup
|
||||
self.token = discovery_info.config["auth_token"]
|
||||
|
||||
@@ -226,11 +223,6 @@ class MusicAssistantConfigFlow(ConfigFlow, domain=DOMAIN):
|
||||
LOGGER.debug("Ignoring add-on server in zeroconf discovery")
|
||||
return self.async_abort(reason="already_discovered_addon")
|
||||
|
||||
# Ignore servers that have not completed onboarding yet
|
||||
if not server_info.onboard_done:
|
||||
LOGGER.debug("Ignoring server that hasn't completed onboarding")
|
||||
return self.async_abort(reason="server_not_ready")
|
||||
|
||||
self.url = server_info.base_url
|
||||
self.server_info = server_info
|
||||
|
||||
|
||||
@@ -544,28 +544,6 @@ async def test_hassio_flow_errors(
|
||||
assert result["reason"] == error_reason
|
||||
|
||||
|
||||
async def test_hassio_flow_server_not_ready(
|
||||
hass: HomeAssistant,
|
||||
mock_get_server_info: AsyncMock,
|
||||
) -> None:
|
||||
"""Test hassio discovery flow when server onboarding is not complete."""
|
||||
server_info = ServerInfoMessage.from_json(
|
||||
await async_load_fixture(hass, "server_info_message.json", DOMAIN)
|
||||
)
|
||||
server_info.onboard_done = False
|
||||
mock_get_server_info.return_value = server_info
|
||||
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
context={"source": SOURCE_HASSIO},
|
||||
data=HASSIO_DATA,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert result["type"] is FlowResultType.ABORT
|
||||
assert result["reason"] == "server_not_ready"
|
||||
|
||||
|
||||
async def test_zeroconf_addon_server_ignored(
|
||||
hass: HomeAssistant,
|
||||
mock_get_server_info: AsyncMock,
|
||||
@@ -587,27 +565,6 @@ async def test_zeroconf_addon_server_ignored(
|
||||
assert result["reason"] == "already_discovered_addon"
|
||||
|
||||
|
||||
async def test_zeroconf_server_not_ready_ignored(
|
||||
hass: HomeAssistant,
|
||||
mock_get_server_info: AsyncMock,
|
||||
) -> None:
|
||||
"""Test zeroconf discovery ignores servers that haven't completed onboarding."""
|
||||
not_ready_zeroconf_data = deepcopy(ZEROCONF_DATA)
|
||||
not_ready_zeroconf_data.properties["onboard_done"] = (
|
||||
"False" # Zeroconf properties are strings
|
||||
)
|
||||
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
context={"source": SOURCE_ZEROCONF},
|
||||
data=not_ready_zeroconf_data,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert result["type"] is FlowResultType.ABORT
|
||||
assert result["reason"] == "server_not_ready"
|
||||
|
||||
|
||||
async def test_zeroconf_old_schema_addon_not_ignored(
|
||||
hass: HomeAssistant,
|
||||
mock_get_server_info: AsyncMock,
|
||||
@@ -635,33 +592,6 @@ async def test_zeroconf_old_schema_addon_not_ignored(
|
||||
assert result["step_id"] == "discovery_confirm"
|
||||
|
||||
|
||||
async def test_zeroconf_old_schema_not_ready_not_ignored(
|
||||
hass: HomeAssistant,
|
||||
mock_get_server_info: AsyncMock,
|
||||
) -> None:
|
||||
"""Test zeroconf discovery does NOT ignore not-ready servers with old schema version."""
|
||||
old_schema_not_ready_data = deepcopy(ZEROCONF_DATA)
|
||||
old_schema_version = AUTH_SCHEMA_VERSION - 1
|
||||
old_schema_not_ready_data.properties["schema_version"] = str(old_schema_version)
|
||||
old_schema_not_ready_data.properties["min_supported_schema_version"] = str(
|
||||
old_schema_version
|
||||
)
|
||||
old_schema_not_ready_data.properties["onboard_done"] = (
|
||||
"False" # Zeroconf properties are strings
|
||||
)
|
||||
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
context={"source": SOURCE_ZEROCONF},
|
||||
data=old_schema_not_ready_data,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
# Should proceed to discovery_confirm, not abort
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
assert result["step_id"] == "discovery_confirm"
|
||||
|
||||
|
||||
async def test_user_flow_with_auth_required(
|
||||
hass: HomeAssistant,
|
||||
mock_get_server_info: AsyncMock,
|
||||
|
||||
Reference in New Issue
Block a user